Software have life cycle. The end point of a software life cycle is oblivion. Windows XP is a piece of software and therefore subjected to the life-cycle constrain. Compared to other software, XP has a very long life. The version of Linux we have when XP was launched is no longer the same one today, so why should Windows stay at XP? MacOSX itself have evolved 2 generations, why not XP?
Part of the reason for XP longevity is its installed base. That is why we have calls to save Windows XP. However, it cost money to maintain XP. Microsoft may be rich, but maintaining XP does not bring in more revenue. It is true that part of the money you fork out for XP was to pay for the maintenance of XP, but Microsoft did more than its fair share of maintaining XP for you.
The other reason is of course Microsoft’s mismanagement of Windows. They mismanaged Vista launch. Who wants an operating system where you cannot run your favorite software (on the launch day itself)? The lowest specification for Windows Vista is too high, even for today’s computer. Old hardware also refused to go away, and lately there is an emergence of computing on new low-powered platforms like OLPC. In both case, Vista simply stand no chance of running on it. Thus, in order not to cede this ground to other operating system, Microsoft was forced into a awkward situation where Windows Starter Edition will still be available after the rest of the XP family dies.
Did Microsoft kill XP to boast sales of Vista? Perhaps. However, since one only buy a new operating system when one buy a computer, the impact of killing XP on Vista sales is likely to be small. With the problems that Vista still faces _today_, I will argue that killing XP is not good for Microsoft.