There really are three choices IMHO: Apple's iOS, Windows Mobile and Android. Each has it's strengths and weaknesses as of 17 Feb 2011:
iOS: $1500 or so barrier to entry; you need at minimum a decent mac and an Apple Developer Account; iOS device strongly recommended but not required. Unless you are a mac desktop developer, you probably have never written any objective-c. Advantages are it has been around the longest so there is probably the most help available and it has the largest market so your version of iFart can make you $$$$ faster. Also quite sexy.
Android: Basically no barrier to entry -- presuming you have a pc of any sort, you can grab the development environment (eclipse) and emulator for free. Also has good market penetration and a growing community. Code is written in java which you probably already know. Can get cheap handsets with pay-as-you-go contracts to test hardware with. Pretty decent market penetration, but big emphasis on free. So your droidFart could make you famous but probably not rich.
Windows Phone 7: No barrier to entry if you are already a .NET develop as you probably have the toys. Minimal barrier otherwise [presuming you are on windows] -- you can build and test your app using the free Visual Studio Express SKUs. Very new so there are more rough edges and fewer features than one has with 'droid or with iOS. Penetration limited, so your winFart will neither make you famous nor rich.
I'd generally go with a platform you are comfortable with and have the toys to work with at first. You can then expand from there.