As I was surfing through this, I ended up on a page showcasing some Microsoft employees. It then occurred to me why Microsft is faltering on all their new projects: It's a people problem.
Consider, all the geeks in the world hate Microsoft. Nobody wants to go to work for Microsoft. Geeks do want to go to work for Google, and they are in great numbers (that may change someday). For Microsoft, the attraction is not there though.
The thought of going to work for a corporation as rigid as Microsoft is like thinking of spending an eternity in hell. And I imagine most geek's opinions are the same.
The people they do attract are of foreign descent, eager and grateful to have a job. But even this pool is drying up for a variety of reasons, not the least of which is that opportunity is everywhere no matter where you are in the world.
Software engineering is one of those disciplines that you just can't throw more people or money at. It takes a certain combination of talent, freedom, and motivation. Talent is not drawn to Microsoft. Freedom is inherently gone in any such corporate environment (despite what the PR people may say), and its hard to be motivated when working on a project that has a release date of 2010, and you are only 1 in 1000 developers working on it.
Microsoft is lost and unless they really re-invent themselves, I can't see them ever regaining their foot-hold. The best thing they can do, and this is what they've been doing, is acquiring small start-ups that have done something innovative. In other words, 'feeding' on the talent that is out there.