It was late to market as the #3 contender.
* It is unclear to the user what WP7 offers over the 'safe' bets.
* Why should application developers support WP7?
It gives users the worst of both worlds compared to iOS/Android:
* Multiple device vendors so updates and support can be variable and fractioned
* Extremely limited device support effectively locking device vendors out from doing any practical differentiation. (I.e. all devices must have same resolution, same CPU family same peripherals), effectively reducing the user choice to the same device (only cosmetic differences)
In the long term WP7 and iOS will have severe growing pains as they have both tried to leverage a hardware 'monoculture' to optimize end user experience. As technology developes Apple and MS will suffer severe pains as new hardware breaks or renders obsolete existing development work, and subsequently will need to be delayed to the end user. Apple have allready been there having to do a resolution x4 jump on the display, they likely can't do that once more, and while Apple is foremost a hardware company with experience in driving hardware development ahead of the curve, microsoft will be limited by the general availability of new components.
Android have a benefit in the long term in that it was made with support for diverse hardware in mind. This caused confusion and criticism initially, but is likely starting to pay off now.
Looking at computer history we can draw the parallel to the development of the x86 wintel platform vs. a handful of vertical oriented competitors (Amiga, Atari ST, Mac). The Wintel platform was not the prettiest, nor the friendliest, but it was the only one placed to leverage the enormous momentum in ever improving hardware. Amiga and Atari died, mac survived after a fashion, but not without scrapping everything and starting over. (Kudos to apple for pulling that off, but they very nearly broke their backs doing it)