Only on price though. Android runs terribly on low end smartphones and don't even have the full feature set of a top of the line android phone. Further, they're likely to be abandonded, perpetually running an outdated version of android until you ditch it. With the iPhone, even buying last gen you're getting most of the features of the top of the line. The WP7 Samsung Flash costs .99 on AT&T and offers the same exact user experince as a top of the line WP7 phone. So why is anyone ever choosing low end android phones? Because 1) the carriers are pushing them since they know they don't have to provide expensive upgradde support and will rope customers in for another contract since the phone will never be updated and 2) there's a lot of buzz around "Android" and people think even the low end phones will deliver the same experience, when what they get is a slow, feature-barren, "smart phone" that was abandonded by the manufacturer the second it shipped.
I have an Acer Liquid Metal, bought outright for $128 (including a sim card and $10 pre-paid credit). It was network locked but updating version of Android unlocked it. It is not the best phone in the world - sound quality is so so compared to "real" phone and I have had issues with the touch screen when the humidity is high. Also no front camera, rear camera quality not brilliant. Memory is also somewhat limited. BUT it has a large screen, storage is enough to run about 120 apps (after moving most to SD). It has accelerometer and magnetometer etc. So I do in fact get a lot of the features of a more expensive phone.
I could spend roughly 10x that on a latest gen iPhone but I would get very little extra for that money, and I'd be locked in to running what Apple says I can. No thanks.