An iteration (also called a sprint) is the period of time it takes to produce something that works well enough to show to the user.
At the end of an iteration, users get to try out the functionality. They can and accept it or send it back for more work.
Keeping iterations as short as possible helps reduce the time spent on corrections when features don't meet the users' expectations. It is less costly to redo two weeks of development than six or eight weeks.
Shorter, more modest iterations also tend to generate more reliable burndown data for estimating further work.