Most of the time when Windows crashes it's not strictly due to Windows itself, but another application or a device driver. (Though, granted, many of these are preinstalled with Windows, so many people might not understand the difference.) I'm not saying Windows is itself without bugs, but it's nevertheless quite stress-tested and most of the flaws are either in design or are buffer overflows (oh, how much MS could have saved themselves by training their developers early on about how to use strings/arrays in C).
The main reason I don't care to switch to Vista, besides the fact that it gives me nothing I don't already have, and besides the adage of, if it's not broken, why fix it... but primarily I don't like Vista because it's 3-D. I don't want my OS hogging all of my 3-D hardware, thank you very much. My computer can't reliably run two high-end 3-D applications at once, which is the equivalent of what would happen if I tried to use Vista and run a 3-D game at the same time. As far as I'm concerned, an OS is supposed to use absolutely minimal resources and stay out of my way and let me run my applications. That's my view. Vista has gone in completely the opposite direction and that's why I don't like it.
Besides which, compatibility is a big deal with me. I have no idea if Vista would run my old DOS programs but I'm glad I don't need to find out yet. Of course, at this rate you'd think modern PCs could flat out 100% emulate DOS/Win98 with no speed loss so you have to wonder why they don't just do that instead of worrying about making the OS itself backward compatible...
Solving compatibility issues by using old hardware (e.g. old PCs) to run old software won't work. Why? Because you can't buy a legal copy of Win98 anymore, and soon WinXP. And once MS shuts down the activation servers you won't be able to install or reinstall WinXP either, even copies that you legally own. The only recourse would be to use a pirated/hacked version of the OS, which is not something I prefer doing.