Windows 95 started the mistake, it continues today ...
I was listening to an NPR analysis of it and they made a good point that the importance for an all encompassing, all powerful OS isn't as high as it was when Windows 95 came out.
Sadly enough Windows 95 wasn't that either.
We already had a far more powerful OS in Windows NT at that time, but because of Gates in 1994 (he was unofficially support it in 1992), Microsoft put 90% of its resources into "Chicago" (Windows 95).
It had "pure" Win32 (which doesn't exist), with basic security and privilege levels (far better than legacy UNIX), but because of Windows 95, Microsoft
never adopted them in
any of their software, not even the Visual Studio tools that create software (if you want to use them, they are very indirect in even newer releases).
Windows NT has been "infected" ever since Windows NT 3.51 "Daytona," especially once many things went into Windows NT 4.0 "Cairo," none of it originally planned -- e.g., Internet Explorer components at the core of the kernel.
IBM always made the repeat point that Microsoft should just bundle MS-DOS 6 with Windows NT, since it was better at legacy DOS apps than the MS-DOS 7 in Windows 95 anyway, including showing off many tests of the reboot/dual-boot time.
Indeed, Windows NT was designed specifically for dual-booting with DOS from day 1, and even IBM supported it in many roles and it would have not been too difficult for them to support the end consumer (it would cost them far less in the end).
But Gates wouldn't listen, and virtually every core Microsoft architect was railroaded by Gates in 1994.
Hell, it took Microsoft almost 5 years of hacking DirectX (which started as WinG, largely a failure, Direct DOS Memory Map, DirectMM, then Direct2D, etc...) to even get "tolerable" 3D on Windows 95, all while OpenGL games performed far better on Windows NT than Windows 95.
When Gates started to do it again in 2002 on .NET and Longhorn, the mass exodus finally began.
Most of us who supported Windows NT well before "Chicago" was publicly known have predicted all the vaporware marketing of "Longhorn" since 2002, especially when Visual Studio .NET wasn't .NET, and the early NT 6.0 alphas showed no .NET foundation.
Most of us in the UNIX/Linux/Java world (not the bigots, but open minded people) actually like .NET's security model, and the reality is that Microsoft didn't use it at all.
The most intelligent people in the world will take getting fucked once, but not twice, and Google was hiring.
Gates was removed from his role as chief architect in Microsoft shortly after some of the last, key defections to Google.
Didn't surprise me one bit, he's an idiot when it comes to software design, and won't listen to his most intelligent architects.