What Apple is good at is making things easy to use. The original Macintosh was overpriced and underpowered and not particularly useful, but for what it could do it was easy to use. Later models were still easy to use, but also could be used for a great many things.
The iPod was useful as first introduced, but it didn’t have any feature advantage over the MP3 players of the time. What it did have was easy-to-use controls and iTunes. The combination of these was enough for Apple to dominate the portable music player market. Note that the iPod wasn’t thrown out there on its own, it was part of a larger system.
The iPhone is much the same way. It did take advantage of the abusive US cellphone environment to look better, much as the iTunes store took advantage of the dysfunctional nature of the on-line music sales business to look better. (That business has improved, by the way, allowing Amazon to join the market with a lot of DRM-free music at reasonable rates. I believe the net effect of the iPhone on the cell phone business will be good for consumers.) The addition of the App Store made the iPhone into part of a larger system. The AT&T deal isn’t great, but it’s in some ways an improvement over earlier cell contracts. The data plan isn’t real cheap, but it covers a lot of data transfer, making the iPhone into an excellent hand web browser.
The advantage the iPhone has over other smart phones is that it’s easy and fun. As Jeff pointed out, apps are plentiful, inexpensive, and easy to get and use. There are piles of books available at very low cost, and I found the iPhone an excellent way to read fiction (I doubt it would be acceptable for technical books). Typing on the iPhone works reasonably well, comparable to Graffiti on my old PalmOS machines. I wish it was a bit better at actually making phone calls, but it’s generally usable at least, and you can’t have everything.
I don’t treat my iPhone as a real computer, though. It’s too locked down for that. It does many computer functions well, but it doesn’t allow me to program directly on it like a real computer. (Yes, by those standards the zillions of locked-down PCs on office workers’ desks aren’t real computers. I’m not changing my standards.) It’s a great thing to have on its own, if not cheap.
Apple has been doing a lot better at supporting developers. I haven’t recently seen frameworks being introduced as the next great thing and quickly discarded (coughOpenDoccough). You get the full development environment with every Mac, although it’s not normally installed (it’s on one of the CD-ROMs or DVD-ROMs that come with the Mac), and it’s at least better than the Visual Studio Express editions. (You can also download it for free, if you want a later version.)
Similarly, development on the iPhone is simple. The development environment is a free download. It only runs on Intel Macs, which doesn’t strike me as all that onerous a requirement (you can get one for $600, and it’s a nice machine), and if you want to get serious you spend another $99. The difference is that there’s only one standard way to sell apps on a large basis. It’s easy to use, on the whole, but subject to Apple’s arbitrary restrictions and haphazard approvals, which is frustrating.