I think the single lesson for Microsoft here is that one OS is not the solution to all challenges. Microsoft needs to re-think the concept of one platform for all.
After all, Microsoft already has server and mobile "platforms". Even though these share a common code base (sort of), the implementations are significantly different in target and final content.
It is my opinion that MS needs to do more, rather than less, fragmentation of the OS to better address the areas it now encompasses.
This would provide many benefits to both the user community and Microsoft. For one, each target release could operate asynchronously from the others, decoupling problems specific to one platform from others that do not share the code another, while making the component inventory more complex, it would allow for each target platform to incorporate only the components it really needs. And, by diversifying the product base, Microsoft could better define specific market segments, providing sales focus on a market by market basis rather than trying to cover all at once.
Samples of places MS could segment: business desktop systems (a thin client implementation that would focus around served applications); business application servers (remove things like the web browser and all the .NET junk to allow the system to focus on just delivering applications to thin clients); business process servers (VM machines that focus solely on providing back-end services like SQL Server or IIS); entertainment systems (a "locked down" OS that does the things that video and audio need); home storage servers (a locked-down disk farm for home use that ties into other home systems using a limited number of secure protocols); home workstations (browser based systems that can execute fully certified applications downloaded from the internet or use SaaS delivered applications, with limited peripheral capability - but able to share, via an enhanced browser interface, entertainment from the home entertainment server); smart phones (remove 70% of the stupid applications and focus strictly on phone, SMS, email, an intelligent browser and a clean efficient multimedia application); "not-so-smart" phones (same as above, but remove the multimedia stuff)...you get the picture.
Yes, this promotes even more lock-in to a Microsoft world. But, if we must live under the giant's foot, let us live in peace, not in fear. By removing a lot of the "junk" in Windows and focusing on locking the remaining applications against exploitation, the business and home communities would be better served and might just start trusting MS again.
Cost, you say? Complexity? We think nothing of the fact that our homes have multiple appliances that do a limited number of functions well (heaters, air conditioners, refrigerators, freezers, televisions, telephones, lights, toilets, sinks, washers...). Today most entertainment is consumed from a cluster of devices wired together - look at the uptake of HDMI to eliminate the cabling nightmare that faces most consumer entertainment systems. Providing information resources along the same model, with guaranteed compatibility (because the interfaces would be simplified and standardized - albeit MS standardized) would surely be better than what we have today.
And the same holds true for the business environment: think of how much help(less) desk this would eliminate. You need a new application? Throw up a new piece of hardware with the correct platform already installed and locked down, add the software and go.
I'm not a MS fan boy: I personally detest what they've become. But they've painted themselves into a really bad corner, and this may be the only way out.