Sign[x] gives -1, 0 or 1 depending on whether x is negative, zero, or positive.
For non-zero complex numbers z, Sign[z] is defined as z/Abs[z].
Sign tries simple transformations in trying to determine the sign of symbolic expressions.
For exact numeric quantities, Sign internally uses numerical approximations to establish its result. This process can be affected by the setting of the global variable $MaxExtraPrecision.
See The Mathematica Book: Section 3.2.2.
See also: Abs, UnitStep, Positive, Negative, NonNegative, Greater, Simplify, Assumptions.