I would have thought it would not be neccessary, and could all be done with one pass, but.
In order to kep programs, and their associates, together, the first pass moves these, pecemeaL, into any large spaces in can find, starting from the middle. Subsequent passes do the same thing, on a decreasing size and space availablity selection, up to a point where the amount of fragmentation is no longer considered, by the program, as being significant.
Fwiw. You will find, if you do a manual scan periodically, that the subsequent passes, even including the first, become shorter. If you serach this site, you will find several intersting and informative therads on the Windows 7 defragmenatation process.