You see, in theory it may be like this, but in practice it's different.
There are standards, and even if there is not actual standard, there usually is a de-facto standard. Windows desktops are one such standard. Because of good backward compatibility (not perfect but certainly better than Linux or MacOS), Windows software usually runs on a few Windows versions, even if those versions have age difference more than 10 years (quite a lot of software runs on XP and on 10). This creates an expectation. Linux completely has the right to not be compatible with any Windows software (after all, Windows is not compatible with Linux software). However, that creates a difficulty in switching from Windows to Linux. And usually the user does not care whose fault really it is, and assigns the blame to the "new" (to him) option.
An example: MS Office does not run on Linux, but Libre/Open Office is almost as good. However, it sometimes has problems with MS Office file formats. While the blame should go to Microsoft for having poorly documented formats, I, as a user, cannot make MS change the formats or make LibreOffice better support the formats that exist. However, if my clients use MS Office (and its formats), I have to be able to open the files they send me, which means I have to have MS Office.
After all, what can I do to make MS change the formats or whatever? Call Putin and ask him to threaten MS with a nuke unless they change? It's not like Putin would even talk to me.