Having lived in Seattle for a couple of years, and knowing many Microsoft employees during that time, my outsider's view is that MS's consumer-side failures are largely geographical and cultural.
Redmond, or even Bellevue, is extremely isolated from Seattle, which in and of itself is not exactly deeply intertwined with the cultural centers of the US. Locals know this - Microsoft employees who move from Seattle across the lake to the east side often joke about nobody ever visiting them again (sometimes less-than-jokingly). It's also more or less a company town - Microsoft's presence is so overwhelming and absolute that a lot of the technological zeitgeist from the rest of the country never make it there. If you lived/worked there it's easy to believe Microsoft's ridiculously optimistic PR pieces - pieces that would be hilarious when read in any other environment.
This isn't even an urban/suburban argument (though it has shades of it), it's a "company town vs. diverse city" thing. Microsoft's geographical location gives its people tunnel vision and a grossly false picture of the technology sector.
The second part I've observed is a lack of internal honesty within Microsoft. Failure seems to be couched in safe corporate-speak to the point where it's greatly muted (maybe that's the intent). You cannot expect your work force to pivot and fight hard when they've been falsely told their giant failure was a minor hiccup. I saw this after the WinPhone launch - MS employees were still honestly bullish about its prospects even when the market as a whole had completely rejected it.
If MS wants to be nimble in the consumer space, it needs to set up shop in cities where their competitors play - you will not get an honest impression of how your products (or your competitors' products) are doing otherwise. They also need to have frequent, honest, no-holds-barred accountings of how they are doing. If a product was a flop, call it a flop.