The big reason why Vista is having problems is because Microsoft rewrote it from the ground up, and it's a memory hog.
On the first point, backwards compatibility hadn't really been an issue with Windows. You could still make programs for 95 work on XP with little to no tweaking. That was because certain operators and blocks of code that 95 programs relied on were kept in XP and expanded upon. You could always expect backwards compatibility for a few generations with Windows products, and that was a huge selling point for their software.
Vista was written from scratch, and none of these operators are there anymore. This is why even backwards compatibility of ONE generation does not work and alot of XP programs do not work on Vista. Big box computer stores are getting alot of grief because:
1) The people that aren't smart enough to realize that Vista just isn't an "upgrade" and have it installed on their brand new PC or laptop bitch when their old software doesn't work.
2) The newer machines come preinstalled with Vista and no option to stay with XP. Fortunately, most of these people just format and install an OEM copy of XP.
On the latter, if you ever look on the memory requirements for Vista, that's a computer running Vista and
nothing else.. The Big Box companies are getting alot of flak by putting Vista on machines that can barely run them, forcing users to upgrade if they want to do anything besides use Word.
Remember they did the same thing with XP? You could get XP to run on a 233, if you didn't overload it by moving the mouse
Not to mention all new OS's are buggy. Give it a service pack or two before upgrading from XP which is tried and true.