Microsoft is having a tough time moving WP7 for many reasons:
1) Late to market: Apple ran away with the market and Google filled the void that Apple left over. This leads to...
2) Slow start: RTM and NoDo had no business being out there...too many basic features missing until Mango was released.
3) Poor marketing (although having Nokia onboard should change some of this)
4) WM6 being a piece of crap--so many people (and salespeople) think of WM6 when they think of "Windows Phone" that they don't want to touch it with a 10-foot pole
5) Inferior hardware, despite the fact that WP7 runs EXCELLENT on a single-core 1 GHz processor while Android needs more than that to have a smooth user experience. Despite that, users are going to hear "dual-core" and want an Android instead (this then becomes more of a marketing problem...see #1 above).
6) LACK of hardware. CDMA carriers only sell one, yes ONE WP7 handset. Verizon only sells the Trophy, Sprint only sells the HTC Arrive (a renamed 7 Pro), and the smaller carriers the HTC 7 Pro (without a name change). The GSM providers have a larger selection, but still...the Android selection DWARFS that of WP7!!!
7) Apps. Yes, I know the app store grew MUCH faster than Apple and Google's stores, but the platform is still missing many of the killer apps that iPhone and Android have. This is pretty much a Catch-22: apps will come when the platform becomes more popular, but it needs apps to become more popular!!!