Microsoft broke their API model with Vista and 7. The last version of Windows that didn't have this problem was Windows XP. That is why so many businesses stick with XP because it runs their business apps without compatibility issues.
Vista and above has compatibility issues and it needs workarounds like I explained to get things to work.
Windows 7 added a better compatibility mode and fixed some of the flaws with Vista. It even added a Windows XP mode in the Enterprise and Pro and up editions to download an XP virtual machine. To get some software to work.
But Microsoft abandoned XP support, and is forcing companies and people to upgrade.
I know a lot of people and businesses still on XP/Vista because it came with their PC, and their software works with it so they stick with it.
The whole reason why Apple sells a lot of Macs is that Windows has become so awful to support legacy apps that people don't mind paying more for an alternative that works better and apps just install without issues on a Mac.
Some are going to Linux, and Linux as a web server does a better job than Windows Server 2012. Microsoft sells Azure services for people who can't figure out how to set up a Windows Server or a Windows machine.
Microsoft lost $1.89B on Surface Tablets and Windows 8.X sales. It is the real reason why Steve Ballmer was forced into early retirement. They used the Metro/Modern UI which is confusing and they broke compatibility that needs tricks to get around it. They got rid of the Start Menu, etc. The changes made it worse to the average user experience.
I really don't see Windows 10 addressing the compatibility issues, an the Start Menu they use is quite a bit different from the XP/Vista/7 Start Menu.
I donated some money to the ReactOS project:
https://www.reactos.org/
It is an attempt that building an open source version of Windows based on XP etc. It uses source code from WINE, and it aims for better compatibility with legacy apps.