@ben850
Actually most Android phones can run games like this. All the Motorola droid phones (droid, droidx, droid2, etc, which is the highest selling line)have the same SGX 535 gpu chip as the iphones. The slowest droid has the same cpu as the iphone 3gs. The newer droids are significantly faster than the iphone4 boasting twice the floating point performance. The majority of other Android phones have Adreno 200 gpus which are comparable to the 535 and processors that are again significantly faster than the iphone4. This doesn't even count the millions of galaxy S phones that have SGX 540 gpus which are 2x faster than the 535s or the Adreno 205s that are in every new HTC phone and are also faster than the 535s. So long story short, just about every Android phone on the market these days with the exception of a few models have enough power to run these games.
Onto part two, fragmentation... Sure, there are 100's of android phones, but the API's are all the same for each android version. This means you only code for the android version you are targeting, regardless of hardware or phone. If you want to take advantage of hardware features certain phones have, there are simple tools in the SDK to do so. It is not the nightmare people (who usually aren't even devs) claim and any application in the market can be restricted from devices that cannot run it properly. It is very simple and dev's generally do not have problems with this. Sure, sometimes there are small issues or bugs, but it has never been a major issue for any developer I've ever heard of in the dev forums or anywhere else.
Keep in mind, the PC has millions of hardware combinations and developers for PC's don't seem to have much trouble. I think most the people online who complain about this for smartphones are either lazy or just plain crappy developers.