Both can be good/bad for various reasons.
iPhone - good
- Great SDK & get to use Xcode which rocks
- Well documented online (many tutorials)
- Large deployed base of devices
- Well established app store
- Get to learn Objective (I find it a fun language)
- Most people tend to upgrade their iPhone OS so you can get away with only developing for the latest and greatest
iPhone - bad
- Crowded app store, very hard to break through (the "gold mine" is a myth)
- App Store apps need to be approved by Apple, with some often rejected for dubious reasons
- Have to buy a Mac (not necessarily a bad thing)
- Have to learn Objective C (can be a hassle)
- Have to pay $99/year to publish apps
- Can only multitask on iPhone 4.0+. Hardware restrictions will mean many devices will not be able to use this however
Android - good
- No restrictions on apps that you can develop/publish
- Wide deployment of devices and growing - set to overtake iPhone soon
- Can multitask on Android
- Get to code in Java which is widely known
- Some of the SDK tools integration with Eclipse is nice (although still needs a bit more work)
- Only have to pay $25 to publish apps (one off fee)
- Can develop on any platform (Mac/Windows/Linux)
- Great Android devices coming out this year - platform could really take off.
- Nice XML way of laying out views. While not as flash-looking as the iPhone Interface Builder, it is very powerful.
- Get to work in Eclipse (which some people think rocks)
Android - bad
- Have to support wide variety of screen sizes and devices
- Many people still using old versions of Android OS (1.5) so you'll probably have to support those if you want to reach that market
- SDK is not as polished as iPhone SDK
- Android Market is not as popular as iPhone App Store - hit apps will not make as much $$$
All in all, starting with whichever is fine in my opinion, especially as now Android is gaining ground. Given your background I'd say you should go for Android.