For the sake of 'usability', Windows Vista hid a lot of functionality behind 'ease of use' features that served only to provide the user with less information, making tech support more difficult for no real benefit. Users still have no idea what's going on, but receive no error messages that indicate why.
Vista also added helpful features like the whole 'Let Windows find a solution!' concept, which is great in theory but, in my limited, anecdotal experience, has never once actually provided any sort of solution. The closest I've seen was yesterday, when Windows 'found a solution', tried to implement it, and failed.
They spent a lot of time and engineering making a 'usable' OS on the surface, but all it was was a pretty sheen over top of an OS that didn't, at its core, work significantly better in a lot of areas.
Windows XP was an OS I disliked strongly, but tolerated grudgingly. Windows Vista was an OS I actively discouraged people from getting. Windows 7 is the first version of Windows I've ever recommended people upgrade to, but Windows 8 looks like another step in the wrong direction.
Sure, Vista works (and had for many many people), but XP set a responsiveness standard that Vista did not meet - and to be honest there were real, major issues pre SP1 (file copy crawling while music playing was the most egregious).
Meanwhile, Apple was slowing getting better and better with OSX, and right around that time, the Linux-powered netbooks first hit the stage and were quite good for the time and price.
Vista was from a technical point of view, like going from MacOS9 to OSX...
They introduced a new kernel transaction manager, entirely new audio subsystem, new scheduler, new network stack, SxS, UAC, new display driver model, entirely new graphics stack, new power management stack, new crypto API, a whole load of new fonts and a proper stable 64-bit environment.