Lack of awareness.
Average Joe knows of two "Phones"; iPhone and Android. They stick with what they know, and what they've seen their friends and colleagues using. I guarantee you most people buying iPhones aren't doing so for the merits of the platform. It's word of mouth and brand recognition. iOS and Droid have been around for so long, it's embedded in people's consciousnesses. Windows Phone is a relatively new kid on the block and so far and MS have been pretty quiet about their OS.
They need to start aggressively promoting it, showing off what it can do and demonstrating how fresh and exciting it is compared to the other two creaking and outdated platforms. Every person that's encountered my phone has done so with surprise and sometimes even awe. 9 times out of 10, they've never seen the phone and/or knew it existed.
For the people who have heard of it, they apply false adjectives to it, that they've heard thrown around by the misinformed; "buggy", "slow" and "old", none of which are even remotely true. They also believe it suffers from a lack of apps, which is partly true, but that's going to drastically change over time.
If MS can launch a 500 million dollar advertising campaign for a ****ty product that doesn't work (Kinect), and have it become the fastest selling consumer device ever, then they can definitely do the same for WP8 on a smaller budget, aa product that would actually be worthy of success. Sure, the competition is far more fierce, but the consumer base is fickle. They change with the wind. Once a certain fraction of the sellable market has switched to WP, a larger portion will follow, because it's "hot".
It'll take an awful lot to unseat Apple, but it's not impossible, especially if Apple continue down the route they're going. I'm interested in seeing what iOS7 is going to be comprised of, though I don't think it'll impress many, because the iPhone has had it's day, unless a serious shakeup happens.