95 wasn't too terrible, and Vista wasn't that bad either (especially after SP1 it was fine). The biggest reason 95 and Vista were perceived as sucking was a lot of older software would not work in them due to the major changes made to the OS. By the time 98 came out programmers had adjusted, so everything was rosy. XP would run most 98 programs still, but a big reason why XP was better off from the getgo on application support was Windows 2000 came between ME and XP, and XP was based off of 2000. A lot of home users hadn't gone to 2000 as it was more of a corporate OS than anything, but it got the programmers moving. XP was around then for YEARS, then Vista came out and boom, same issues as from 3.1 to 95. Different programming again, particularly around the UAC (which was a little overbearing on its implementation). Windows 7 came out a few years afterward, when programmers were again acclimated to the OS differences.
Most existing 95/98 programs ran fine under ME but, well, the OS still totally sucked no matter which way you cut it lol. Horribly unstable and clunky. It was dubbed "Migraine Edition" for a reason
I'm not saying that 95 and Vista didn't have their problems (they did, 95 had a relatively unstable registry for example) but they weren't anywhere near as bad as ME and were still functional OSes over all (especially after SP1 for Vista).
Windows 8 is on a similar foundation as Vista and 7, so most existing programs should have no problem. I'm still skeptical on its new interface to a point, but, we'll see.