In 'Waterfall' software development model, all requirements are gathered at Project's beginning, then no changes are allowed until it is finished.
In 'Iterative' software development model, client can change requirements more often, for project goes through iterations (word 'iteration' means 'loop', it is used to describe something that repeats itself) or repeated stages of development. Changes are small and added incrementially from iteration to iteration until all project goals are achieved. More details in 'Rational Unified Process'.
See also, if You wish or need, ... : Software Architecture (according with Rational Unified Process), Four phases in Rational Unified Process iteration.