None of these. It's lack of carrier and Microsoft support, and I don't mean updates. Carriers don't even advertise that Windows Phones are available. Go into any WalMart with a carrier outlet/kiosk and they won't have a single Windows Phone on display. Most AT&T and Verizon shops do not carry Windows Phones in store.
As for lack of Microsoft support, if we don't get "first and best on Windows" anymore, we should still get "equal and at the same time". Instead it's lesser versions of the products (I'm looking at you Office team), half a year AFTER it comes to iOS and Android. People who do use Microsoft products are better off on iOS or Android because right now it's the better Microsoft experience.
If near zero carrier support is going to continue, then Microsoft needs to stop advertising capabilities that are only available on one or two handsets. During the "Verizon is blocking the updates" fiasco, it was aggravating to see adds for Windows Phone that displayed abilities that 95% of the Windows Phones in people's hands didn't have. Most of the phones can't do "Hey Cortana", so stop putting it in ads, that way people won't be disappointed when they buy a phone that can't do it. They are use to iPhone ads that show off the things that ALL IPHONES (of that version) CAN DO.
A lot of people won't realize that a 830 won't be able to do everything that a 930 can (or that it can, but only after an update that the carrier will never make available), because the ad was for WINDOWS PHONE, not just for the 930. When they do discover this, AFTER they've bought the device, they will rant to their friends and family for till their next upgrade about how crappy and deceptive Windows Phone is.