This may sound weird to say, but I'm starting to think that most of Apple's problems come from the fact that it is a hardware company rather than a software company. In a very real way, it seems that they don't get software. I think it comes from pervasive product focus.
They are great with products. Less so with the area around the product. Can't have something as nebulous as a cloud without trying to control the product experience.
Apple gets software. The problem is they have never gotten network software or network services.
It's nice that I can use iCloud to find my iPhone and that it keeps my contacts in sync.
Except that it can't keep notes in sync correctly. Which shouldn't be surprising because notes aren't actually notes, they're stored in an email box. That's why you need an @me.com account to sync them.
Really there is no iCloud. There is an email service, a calendar service, a contacts service, a layer on the email service, a file storage service, a network transparent CoreData sync service (that is supposed to be very problematic), a todo service, a photo sharing service, and probably other things.
If it doesn't involve a network service, Apple can do wonderful things. If it does... well... it might work well enough; most of the time.
Not really. Most of their software is bad. Their native iOS apps are inferior. iTunes is junk. HFS is garbage. Their office suite is poor except for maybe Keynote. iLife is marginal. They have a solid foundation in Cocoa but I'm increasingly unimpressed with what they do with it.
I think GP has it exactly right. Their hardware is great but their software is an embarrassment for a company with such resources.