Today I just participated in this somewhat heated debate at work about the limitations of Microsoft technologies, and I remembered something I posted on an article at OpenBSD Journal. I decided to maybe recycle it a bit and repost it here, for a wider audience.
[replying to ramblings on Microsoft's buggy implementation of ACPI]
It's been a few years now that I've come to perceive such "mistakes" coming from Microsoft not as their fault, but as part of a carefully architected plan to keep the rest of the world spinning around them as much as they can.
They used to protect their monopoly position by the well known "Embrace and Extend" tactics of producing seemingly better protocols/formats only slightly incompatible with the standards. Very soon everybody else who wants to play has to bow and implement the slightly incompatible version and it becomes a de facto standard. The "Embrace and Extend" tactic got too old-fashioned and easy to spot, so now it's been recycled to something like "Embrace and Distort".
In this new "Embrace and Distort" tactic they get standards wrong on purpose so that they still get everyone to jump when they say jump. It doesn't have to be Microsoft ACPI anymore, it's just ACPI. But whoever sets out to implement such distorted standards sooner or later finds out they are heavily influenced by some "[mis-]take" (noun, 5th meaning) from Microsoft.
When people call them on it later on they can always say "Oh, but the standard is so dificult to get right!" (they distorted it) or "Hey, it's a bug!" (feature).
OK, the above sounds conspirational, I have no evidence, no facts, blah blah. Whatever. It's just my opinion.