Android smartphones are selling well these days, mainly due to carriers not being able to sell iPhones. But, surveys show that people who get these phones usually do NOT get another Android phone later. Why not?
You got a source for those surveys? I don't know anyone who has gotten any Android phone and replaced it with a non Android phone.
First, Android apps, on the average, are not as good as iPhone apps. There are problems in the API with supporting a variety of peripherals, screen resolutions, and so on.
It really depends on what you mean by good... I find the apps written for Android (apart from the ones Google or other large companies make) to be very to the point. They don't look flashy and some don't even have clean UIs or anything. So in that respect I'll agree with you. But saying not as good in general, I'd have to disagree. The large number of APIs allow developers to do much, much more with their applications and I have apps on my EVO that definitely aren't possible with the iPhone APIs. Biggest example is Google Voice.
With the trade off I'd say that both stores have just as good apps. However if you're looking for games... the App Store far exceeds the Android Market at the moment.
Second, Android phones are generally NOT updatable to new versions of Android. If you get an Android 2.1 phone, that's the version you'll always be running, with very few exceptions.
I can't think of a single Android phone that never got an update. In fact, I'd challenge you to tell me one. Android 2.2 was just rolled out to the Droid and EVO 4G very recently.
Droid: Shipped 2.0, updated to 2.1, updated to 2.2
http://en.wikipedia.org/wiki/Motorola_Droid
Hero: Shipped 1.5, updated to 2.1
http://en.wikipedia.org/wiki/HTC_Hero
Nexus One: Shipped 2.1, updated to 2.2
http://en.wikipedia.org/wiki/Nexus_one
And for any phones that have out lived their lifespans there are developers that have released updated ROMs that can be installed anyway.
Like Linux, new versions of Android come out frequently. From the developer standpoint, this adds up to a fairly fragmented marketplace - what minimum version do I support? Do I have to detect the version, and code workarounds?
Are you a developer? This isn't that big of an issue. The same "problem" exists on the iPhone. Developers tend to support the minimum version that has the necessary APIs. Also, applications written for HTC phones definitely still work on Stock Android phones. Just like most Ubuntu applications will run in Fedora.
The key problem is, imo, that the Android space is chaos, with phone manufacturers adding their own front-ends, their own apps, custom peripherals and so on, to differentiate their products. This is self-destructive and market-fragmenting. Either the market will mature, with a single clear leader (e.g. Ubuntu in the Linux space), or it will continue to be a complete mess, with a happy minority of tweakers and a majority of very unhappy users.
Ubuntu is far from a single clear leader. It's just the most popular for consumers. HTC's frontend is basically the Ubuntu of Android. It's built up with social networking and all kinds of nice and fancy things embedded. It's pretty nice. That said, the "standard" is just stock Android.
Also, there is not a majority of unhappy users... That's just a flat-out lie.
Google has apparently abdicated rulership of the Android space, so for the near term, I don't think Android devices will compete effectively with the iPhone or iPad.
iPad and iPod. No. iPhone... They already have.
Since this thread is about an "iPod killer" I'll comment on that.
There is no way. No Android device is going to "kill" the iPod. Apple does music well. They do music VERY well. Integration with iTunes and a sleek and intuitive player are key for success and Apple has both down pat. Not to mention they are so embedded in the market that iPod is the new word for MP3 Player.