The New York Times has an article today "Windows Is So Slow, but Why?". Among other things, the article mentions that there are thousands of engineers on the Windows team today. Even without the enormous complexities caused by the need to maintain compatibility with existing hardware and software, a software project this large is extremely difficult to schedule and manage. Delays are pretty much inevitable.
Gnashing of teeth aside, there's a history of Microsoft seriously underestimating the time it takes to get out a new release. It goes all the way back to the first version of Windows, when we finally shipped Windows 1.01* more than a year late. There were about twenty engineers working on Windows then. Like the Vista project (but on a much, much smaller scale), there were a couple points during the project when a major component had to be rethought and rewritten. Ultimately, of course, the product got out the door, in November 1985.
* Windows 1.0 was "Windows Premiere Edition" and shipped a couple months earlier to certain customers; it did not go to the retail channel.
