Heres my opinion, take it or leave it.
The iPhone is great if you want something that works well and has a large selection of apps. Unless you jailbreak you are limited to what is in the iTunes App Store which all gets filtered by Apple.
Android gives you more freedom and with that freedom comes responsibility. The app store is less filtered, you can find emulators for consoles, etc that Apple would ban. You also have the freedom of installing from apk files so apps that you can get apps that aren't in Googles Market or betas. You can get a custom keyboard if you don't like the default one, I like Swype. You can customize your device with a different launcher and widgets.
Although rare there are virus like apps out there, but if you use common sense when downloading apps you should never have an issue. Battery life can be bad if you have power hungry widgets or apps that consume CPU cycles in the background. But you'll see them on your battery stats and either address the issue or uninstall.
For me one of the big turn offs of the iPhone is being tied to iTunes and the background processes it runs on a Windows system. I hate all programs that run at startup and don't go away when I click X. I also want a physical keyboard and no iPhone has that.