I've got a Desire myself and it's a really nice phone. The Desire also seems to sell much better than the Xperia, and while I've never tried the Xperia I think it's for a reason.
There are already dozens of thousands apps for Android, just like on the iPhone there is an App for just everything. Not every Android app works on every Android phone, if an app works or not is mainly a matter of what features the phone supports. The application programmer can for example define a minimum firmware version, a minimum screen resolution or that the app needs to have GPS or a motion sensor. So if for example you have an Android phone with a very low display resolution or very old firmware version, many apps may won't work due to missing features. If however you get a state-of-the-art phone like the Desire with the latest firmware and top-notch hardware, pretty much all apps will work. You can install apps by yourself, which works similar to installing an application on windows (simply open application installer files, which are .apk files - you could either simply download those files from just any website that would offer them or simply copy them over to your phone by yourself). The more common method however is to browse the android application store that is preinstalled on the phone. As others have already pointed out, Android's application store could really need some improvements, but that's something many people have been complaining about and Google is already working on this. Android apps are definitely cheaper than iPhone apps and the percentage of completely free apps is much higher.
For gaming however the iPhone is definitely better. You can find great games for Android as well, but at least at the moment the iPhone definitely has more and higher-quality games. Android apps on the other hand have the advantage of being much less restricted in what they can do and how much control over the system they have.
All in all, I would say that the iPhone still delivers a slightly better experience, but that Android is improving very fast, much faster than iOS, and that I expect Android to be better than iOS very soon. One problem about Android phones is that the manufacturers often don't release firmware updates for older models though. That really sucks and is something many people complain about, so I hope the manufacturers will change that policy soon. But as long as you have a "rootable" phone it's not really such a big problem, because the internet community usually provides builds of the latest firmware version. For example, it took a few months after Google released Android 2.2 before the HTC desire got its offical HTC Android 2.2 update. In the internet however several versions of Android 2.2 for the HTC desire were available already short after Google released Android 2.2.
Oh and someone said that the display of the Desire sucks and that the resolution is lower than what the specs say. This actually depends on the kind of display built into the phone. The original Desires all had AMOLED screens. These AMOLED screens have very low battery consumption and show fantastic colours. Many Desire reviews praise how great the display is, and they usually praise the AMOLED technology. It is however true that these displays use a little trick and that their real resolution is actually a little lower than 800x480.
HTC could not meet the huge demand for the Desire and that was mainly because Samsung could not deliver enough of those AMOLED screens. And so they started to sell the Desire with cheaper and better available Super LCD screens as well. Super LCD screens have the real resolution, but their colors are not quite as brilliant as those of AMOLED screens.