Long beta periods yield better software
There was a time where I would bang out a change to an application, see that it basically worked, and bust it live to production all in the same day. For the most part, this isn't a horrible practice when you're using test-driven development, but it's not a great practice either.
For example, I've been sitting on a minor forum upgrade for about a month. After a week or it being in production on one of my sites (which I generally use as a live test), I saw one particularly odd problem that wasn't covered by my tests. Then last night I found an issue with a regular expression that was tagging the CPU big time.
Would it have been a tragic failure to release it a month ago? Not by a long shot, but I am saving customers (not that they're paying me) the trouble of having to find the problems and then wait for an upgrade.
In this respect, I don't think it's such a bad thing for Microsoft to have really long beta periods. I know they've caught some flack for that. I can't be the only person that remembers Windows ME. I'll concede that I wish .NET v2 was out yesterday, especially Visual Studio, but look at how horrible that designer in VS 2002/2003 was. That should have never been released.
The definition of "on time" has to find some middle ground between adequate testing and getting to market in a timely fashion. Getting crap to market (like RollerCoaster Tycoon 3) by a deadline and having it suck is frustrating for customers.