The problem wasn’t Vista – but 3rd party support. They had ample time to figure out the new ecosystem through numerous alphas and betas, yet companies were too complacent and comfortable with XP. At the same time, consumers were too complacent and comfortable with their outdated computers, but then complained when Vista didn’t run as well as XP. Vista wasn’t very stable at launch but drastically improved after SP1. Windows XP was the same. In the end, Vista turned out to be a great OS over the years but was eclipsed by 7. People also didn’t realize Windows 7’s driver model was pretty much the same as Vista – so when Windows 7 launched, drivers (for the most part) were not much of an issue. Vista changed drastically on the way from Longhorn, dropping all work done on the successor to XP from 2001-2004 and restarting the development cycle in August of 2004. This caused a lot of problems for folks trying to develop software making use of features and APIs removed from the SDK, and shipping the DDK late to silicon manufacturers meant that a lot of peripherals wouldn’t have device drivers or poor-quality ones. They had less time to write, validate, debug, test, verify, and then go through their own release processes using alpha-level OS and dev tools so their stuff could be ready by the time Windows Vista shipped. Remember, it was still common to buy packaged software products a dozen years ago, and there’s significant lead up time to create, proof and print all the documentation, boxes, CDs and other collateral that go into fully packaged products, aka a retail boxed product. The less time you have to do those things, the more it costs you to have rush jobs done to get boxes into the distribution channel.