Vista was hardly a disaster, at least on the technical side of things. Vista gets the blame for hardware makers being slow to release new drivers and then doing lazy and sloppy ports that were riddled with bugs. Without all the under the hood changes Microsoft made with Vista, Windows 7 never would have been possible. XP was a developmental dead end, representing decades worth of design decisions based on an industry which had suddenly swerved to the right after decades of moving steadily left. Huge chunks of the OS had to be tossed out and rewritten from scratch.
Windows XP, let's not forget, had a bumpy first couple of years as well. Despite being a barely even warmed over Windows 2000, a lot of companies had the same problems getting drivers out. Then there were the software issues because now a lot of programs had to contend with not just multiple users, but filesystem permissions and a security model that enforced the prohibition on accessing the hardware directly. Much like Vista, the hardware on most store-bought systems on the low to mid-range were not up to the task of XP's Luna skin and it took a couple of years for integrated graphics chips to both rise to the new challenge and filter out into the wider world. You also had a lot of computers at the time only shipping with 128-256MB of RAM and anyone who's tried running XP on only 128MB of RAM will tell you its an exercise in extreme patience. At 256MB it becomes tolerable, but still slow. It's not until you get to 512MB and beyond that XP starts to run at acceptable speeds. After 2-3 years, most integrated graphics were up to the task of handling XP's skinned UI, 256MB was the new minimum for RAM with 512MB being more common and most program authors and hardware developers had gotten their heads around the new reality XP presented. That's when all the complaints about XP being slow, bloated, having a fisher-price/tonka toy look, programs not working, hardware not working, etc, started dropping off.
By the time Vista SP1 came along, most of the complaints had dried up about it as well. Hardware caught up with the software, even the low end hardware makers had upped the quality of their drivers and imagine that, people suddenly stop having issues with Vista.
It's amazing how history repeats itself, including people conveniently forgetting facts that don't fit in with the popular narrative. You talk to people today, the only consistent complaint you see about Windows 8 is people don't like the tile interface on the desktop. Fair enough, and in large part I share that sentiment thinking MS should have given a bit more thought to how it would work on a desktop/laptop before release, but if you set that aside and consider the rest of the OS, it's quite possibly the best one MS has come up with to date. Better security, faster boot times, more efficient memory use, less memory use, more efficient use of the CPU, more of the GUI is rendered by the GPU than CPU making for longer battery life on tablets and laptops... And that's just compared to Windows 7. It strikes me as short-sighted and idiotic to let something as trivial as the tile interface, which frankly you rarely have to see after 8.1 Update 1, put you off of what is otherwise a great bit of software. But maybe it's my upbringing where I was raised to value substance over flash.