Seems like everyone forgets Apple is still a baby in the SmartPhone market. It's easy to argue they should have done this all quicker but it's only been 2 years. In software development you can either hire a ton of people and use the thousand monkeys model of development or you can build up a smaller team and just give them the time to get it right. Since iPhone sales weren't hurting at all I think Apple saw no problem letting the core iPhone software team take their time.
I would speculate that Apple probably spent about 12-14 months exclusively working on the SDK after the launch of the 1.0 firmware 2 years ago. That includes improvements to the core OS infrastructure and optimizing the various APIs for a mobile device with limited memory and clock cycles -- and of course battery constraints. All of the API work had to be done right the first time. It had to be consistent and it had to be forward thinking enough to ensure there was room for the platform to grow over the years. Apple doesn't want to make a tiny change in a core library and break 10,000 apps. They don't want to have a dozen different APIs that do basically the same thing and bloat up the OS just to provide backwards compatibility. This is a good thing and it's the same principals that have made OSX a great platform on the desktop side.
And let's be honest. The competition hasn't exactly been pushing out a lot of innovative updates. RIM & Microsoft are still struggling to catch up to most of the iPhone 1.0 features and usability. Android doesn't really seem to have much momentum at the moment. Looks like Google might already be losing interest in it. Not a good sign.
Arguably with all these iPhone competitors out there making slow, but steady, progress the SDK and third party application library are Apple's main competitive advantage. They had to put their priorities in order and make sure the SDK was bullet proof and good enough to attract developers -- and basically lock them into the iPhone platform for years to come. Some of these other features, C&P, A2DP, etc were simply not going to give the iPhone a dominant advantage in the same way the SDK has. Apple understood that and they will benefit from it even if users want to belly ache over waiting 2 years for C&P. You still bought it, didn't you? Point proven.