FixedPoint[f, expr] starts with expr, then applies f repeatedly until the result no longer changes.
FixedPoint[f, expr, n] stops after at most n steps.
FixedPoint always returns the last result it gets.
You can use Throw to exit from FixedPoint before it is finished.
FixedPoint[f, expr] applies SameQ to successive pairs of results to determine whether a fixed point has been reached.
NestWhile[f, expr, comp, 2] uses a general comparison function.
See The Mathematica Book: Section 2.2.2.
See also: FixedPointList, NestWhile, Nest, ReplaceRepeated.