Case in point: Here's what happened when Google's Andy Rubin was demonstrating an Android prototype phone to Wired reporter Daniel Roth.
Let's see, let's go to a music player. I can go to Artist here and get my list of — oops, it says the SD card is missing. He squints into the tiny card slot. "Hmm, it's there. Looks like I have a little bit of a bug." He shrugs, taps on an icon to go to the browser, and checks out CNN.com.
Quoted from Google's Open Source Android OS Will Free the Wireless Web
I can't even begin to recount the numerous occasions this very same thing happened on my previous Linux based Motorola smartphone. And it's not just that the memory wasn't available for reading. The applications that were set up to store data (photos, notes, audio recordings) on it would all default back to storing on the miniscule internal memory, which meant I had to spend a couple of minutes reconfiguring these applications after power cycling the phone to get the memory card back. That makes for a truly sucky user experience.
This is not to say that Andriod will suck. Quite the contrary, I have huge hopes and expectations of Google succeeding. Android seems like the one potential competitor to the iPhone platform, and I definitely look forward to trying it out. The point I'm trying to make is strictly hardware related. A memory card slot is never going to be as reliable as a soldered on internal memory.
Eliminating failure points is, in my humble opinion, the most effective way of reducing bugs and problems. The more bullet point features are included in the product specs, the worse the user experience of said product.
A sufficiently large internal memory beats a memory card slot any day of the week. It's just way more convenient for both developers and customers.