It is well known that free products are used more widely than products that people have to pay for. If Vista is so much better, then people will still pay money for it, and having more installations of XP around to keep people using Windows apps instead of switching to Mac or Linux can only be a good thing for Microsoft, whose continued success depends not only on agreements with PC manufacturers, but also on the continued existence of Windows-only software that people need to run. This benefits Microsoft, and will result in more sales of Vista (and subsequent versions), as other software vendors evolve into the same “The XP version is free, but if you want the premium version, you need Vista” pattern. Essentially – XP becomes the shareware limited demo version of Windows, and you pay if you want the full version.
This obviously benefits the consumer, because free is good, and there are plenty of places (VMs, especially), where it would be useful to run XP, but where the current price is cost prohibitive. Making XP free would open up the Windows market to those potential customers.
Anyone who’s switching to Mac or Linux has already made the decision to do it, and isn’t turning back because they can’t run Windows in a VM… because they already can. This would just make everyone’s life easier, and generate a LOT more goodwill for Microsoft than they have now.
Microsoft, despite being ridiculously profitable, is in danger of losing relevance. This is one way to combat that.