Microsoft has traditionally been pro-consumer in terms of backward compatibility. They expended a lot of resources to make sure that new versions of Windows would be compatible with older hardware, for instance.
A rare exception to this was Microsoft’s failure to make DirectX 10 compatible with Windows XP. Given the huge number of Windows XP systems still out there when DirectX 10 was introduced in 2006 (and even now), this move almost certainly hurt everyone involved, including Microsoft, game developers and consumers. As a Windows XP gamer, I occasionally encounter games that require DirectX 10, at which point I put the box back on the shelf.
Despite claims to the contrary, it’s clear that a big part of Microsoft’s DirectX 10 decision was that they wanted people to upgrade to Windows Vista. I’m sure a few gamers upgraded Windows because of this, but to the vast majority it was just another stupid roadblock and a reason to be angry at Microsoft.
Game developers were left with a difficult decision. They could continue developing for DirectX 9, but in doing so they would not be able to use the new features of DirectX 10. They could develop two versions of their games, one requiring DirectX 10 and the other, compatible with DirectX 9, but this would add a lot of work and complexity to the process. Or they could stop developing for DirectX 9, but this would eliminate a huge potential market: Windows XP gamers. None of these choices are ideal. For the most part, DirectX 10-only game titles are still relatively rare.
Unfortunately, Microsoft has made a similar decision for DirectX 11: it will only be available on Windows 8. Once again, this decision is likely to do more damage than anything else.