If you're curious about developing for the iPhone, but haven't made the plunge yet, you might want to read Rogue Amoeba programmer Mike Ash's 22-step tale of developing NetAwake, which is available in the App Store.
It's a fascinating story, with a lot of waiting, a lot of rejection, and a lot of "screwing about in Xcode."
"The errors are essentially worthless. I believe I only ever saw Xcode generate one error, over and over and over again, as it encountered a whole bunch of different problems," he wrote.
The app took a month to approve, once it was submitted. Ash says that the people he corresponded with at Apple were "nice about responding to my query" but "spending a month in limbo for a single bug is a very poor tradeoff."