What gunman0 said is totally true and it's not just MS pulling the "upgrade" con. Commonly, the new version will have the fixes you need, as well as new features you don't need, with new bugs that came along with the new features. You can never win!
Why does the public put up with this crap? Why does everyone resign himself to being an unwilling beta tester? It's quite simple.
In the old DOS and Windows 3.x days, software vendors would blame their own problems on the OS. And they could get away with it because the OS was crap. With Windows locking up at start-up, before any visible applications are loaded, it was easy for people to believe the OS was the problem. So, when ever something went wrong, it was DOS or Windows, not the application.
Since everyone was blaming the OS, it was easy for software vendors to release beta code on the public. If something went wrong, invariably they would blame the OS. And who would know the difference? I mean, the OS really was crap! But now with Windows 2000, which by all definitions is very solid, it's more difficult to blame the OS.
I don't know how much longer this blame game can continue. Eventually people will get wise and go after the appropriate parties.