* UI design is a lot easier on iOS if you use XCode's interactive designer. Doing it on Android with Eclipse's designer is painful, but I expect that Android Studio will make that easier.
* UI design without the interactive designer is easier on Android, because iOS is quite verbose for this
* About the code, I have found that iOS's APIs are badly designed, and change too often. The API's of Android are much more stable, but they can require too much code sometimes (example: setting onclick listeners for elements).
* About the tests, it is a lot easier to test for every iOS device, because there are so few (and iOS versions are rapidly deprecated). Android devices have a lot of different OS versions, screen resolutions, CPU, etc. That makes it tougher to test exhaustively.
Nevertheless, I have found that Android development is a lot easier than iOS development (at least for me), simply because XCode spends its time fighting me. For Android, I can just bypass Eclipse and work directly in vim with a Makefile, or I can develop in Scala and use SBT. It's much more fun that way :)
And to answer the last question: apps are primarily developed for iOS because:
* it is believed that iOS users are more likely to pay for an app
* journalists are often more on iOS than Android (and you want to please them)
* CEOs are often more on iOS than Android
The main reason some apps come to iOS first is better app discovery and a larger user base. If you manage to score a high user base, the monetization is quite awarding so that's why developers choose iOS first. Definitely not because of iOS being easier than Android.
Building an app for the Samsung Galaxy S is about as hard as making an app for the iPhone. But an App that runs on both the Galaxy S Software and the HTC One Software is much easier to build that one that runs on the Apple iPhone and the Blackberry Q10
Because Android is a cross platform technology, designing an app for Android is more like doing on for the web.
The other side of this coin is that a simple wireframe can get implemented on iOS quickly, while on Android, the coders may spend a lot of time on multiple layouts, multiple sets of graphical assets, different font sizes, different screen dimensions and densities, etc. It often helps if the designer participates in creating and testing layouts and assets for an Android version.
Secondly, a lot of coders who don't also have some server-side Java experience find Eclipse jarringly unfriendly. Spend some time getting used to Eclipse and understand how the "It's plugins all the way down" model makes Eclipse do some stupid things. Android Studio is much better, but it's still an "early access" release.
Thirdly, Android's runtime is a platform for apps and system middleware. Large parts of the Android system are written in Java using the same toolchain as apps. You can, for example, add an API to Android that other apps can use. You can communicate with lots of other apps. You can "borrow" parts of apps' UI and ask them to do particular tasks, like picking a file, for you, and you can let other apps do the same with your app. Android is more complex because it is more expressive.