Mobile Phone ecosystem is not like a PC. On a PC a user can upgrade the hardware as he wants. If he wants a higher megapixel webcam he can simply buy one & install it. However, this isn't possible on a regular mobile phone. A Mobile phone OS isn't like a PC OS. The reason Apple is able to give free upgrade to iPhone 3G is because they control the iPhone ecosystem. They make the hardware so they know the hardware won't change & it is just one hardware configuration. On the other hand, there are many Windows Mobile phone manufacturers with different configuration due to which Microsoft cannot make a "One size Fits all" OS upgrade. This is the reason, its upto the Device manufacturer to provide OS upgrade & not Microsoft.
Mobile OS Upgrades
In a mailing list that I'm part of, there was a question on why installing a new OS on a Mobile is difficult. MVP Saurav's response was interesting and I quote him (with permission) -