The true reason we are just beginning to see higher-end games on Android is due to lack of developer interest and Android market limitations. Up until very recently, the maximum APK size for the market was 25MB. Plus, the ability to install apps to the SD card has only (officially) been around for a few months now. I have also read interviews with devs who say Android is harder to develop for due to deficiencies in the debugger for the NDK. Also, Apple has been active in pushing the iPhone/iPod Touch as a mobile gaming device; which helped gain developer support. There are some pretty decent 3D games out for Android as of right now; but a majority of them are made by Gameloft and are only available thru their site, as opposed to being in the market.
In the end, it's not that the Droid lacks power, it's simply that the iPhone is easier to develop for, and has more active devs working on it. It also doesn't help that the Android devices themselves are becoming more and more fragmented. Ideally, devs don't like to spend time writing software and then end up only having it be compatible with a fraction of the devices out there. One problem is GPU differences, as it stands right now; a dev has to create seperate textures for devices with PowerVR, AMD, and nVidia GPUs. All of this means extra time and effort, while the iOS devices are ALL based on PowerVR GPUs.