FullSimplify[expr] tries a wide range of transformations on expr involving elementary and special functions, and returns the simplest form it finds.
FullSimplify[expr, assum] does simplification using assumptions.
FullSimplify will always yield at least as simple a form as Simplify, but may take substantially longer.