Lately posted on Slashdot, an article written by Joel Spolsky mentioned the trouble through which Microsoft went to make each version of Windows backwards compatible. In one case, for the game Simcity, they even changed the way memory handling was done when running that application. You can find additional stories of software tricks that recent versions of Windows have to perform in order to run these bug-dependant applications on the web. After reading the story, I discussed with a couple of friends how weird this was and how Free Software completely avoids this problem.

Microsoft broke thousands of Windows drivers with the move to NT/2K/XP from 95/98/ME. Longhorn will likely break them all again.

What starts to happen is that some software requires newer versions of Windows, and some software+hardware only works on older ones.
If you are unlucky enough to own older hardware with binary drivers that the manufacturer cannot be bothered to update (thanks digidesign), then can you have thousands of pounds of hardware turned into a paperweight. Or, you can run another box with an older version of Windows.

If the code is open then there is at least a chance you can escape the forced upgrade cycle.