According to Kindel, Android is successful because it allows both device makers and carriers to exert a significant amount of control over the software, while Apple is successful because they cut out the hardware maker from the market (since they make both the software and the hardware), allowing them to pressure carriers into being dumb pipes.
Windows Phone 7 is problematic because device makers have little to no control over the platform. They can't build devices the way they want to, since Microsoft dictates the hardware, down to the processor and amount of RAM. At the same time, Windows Phone 7 is problematic for carriers because they're not allowed to muck about with the software to squeeze even more money from subscribers.
The end result is something entire websites have been set up for: nobody in retail is pushing Windows Phone 7 devices. Especially in the US, you buy a phone from your carrier, so they decide which phones to push to customers the most. If a customer walks into a store looking for a phone, carriers will push Android phones because it's best for the carrier.
As much as his point is valid, I do believe there's more at play here. First, this thing is called Windows. Windows isn't cool. In the consumer's mind, it's the opposite of Apple - and right now, Apple is cool. Android is Google, and Google is also cool - geekier perhaps, but still cool. Windows, on the other hand, is that thing which used to crash all the time. WP7 should've been called Metro - as simple as that.
Then, as John Gruber rightfully notes, it's got a seven at the end. This was done to allude to the positively received Windows 7 (which everybody around me absolutely adores), but I'm not sure the message is coming through. Metro 1 sounds new.
And then there's an even simpler issue: Windows Phone 7 is late. Very, very late. For all intents and purposes, the smartphone market (WP7 doesn't run on tablets) has settled on (to a lesser degree) iOS and (to a larger degree) Android. There is no indication that Android's massive growth is slowing down - despite update issues (wait, could it be regular users don't give a rat's bum about updates, but only us geeks do? You don't say!). In other words, people have settled on their platform of choice, and considering most people don't upgrade phones the way, say, I do (once a year), but instead hold on to them for much longer, it's not easy to score new customers.
As great as I think Windows Phone 7 is, I don't think it'll ever make any serious inroads into the market. Eventually, the smartphone market will settle on Android as the dominant player, iOS the large number two, with RIM and WP7 battling for the leftovers.
The only true rogue factor here could be Windows 8. Windows 8 will introduce Metro to vast numbers of people, and just like how using Windows at work got people to buy Windows at home, using Metro on their computers might get people to buy Metro on phones. Let's hope so - we need competition from a truly unique player, instead of iOS and Android, which are both just building on PalmOS' legacy.