Matthew Panzarino, writing for The Next Web:
Here’s the truth about iCloud: it’s actually just a name.
There are really two iClouds, one that services Apple’s consumer services, and one that is offered up to developers to integrate into their apps.
I’m not being facetious with that statement. The iCloud that is used for apps and services like iMessage, Mail, iCloud backup, iTunes, Photo Stream and more is built on a completely different technology stack from the developer APIs that are causing problems. iWork actually does use developer APIs, but only the (still rough) document syncing, not Core Data, which has been causing the most issues.
This is an important distinction. In my experience, the user-facing apps and services Panazarino mentions — iMessage, Mail, iCloud backup — have all worked pretty well. What's causing problems for developers is the Core Data APIs that are meant to sync databases; that's broken, and Apple doesn't seem to have a sense of urgency in fixing things. The premise that iCloud "just works" is somewhat of a misnomer because developers have trouble getting the backend stuff to just work with their apps. Then users complain to the devs who then complain to Apple; it's a vicious circle.
I agree with Panzarino's suggestions for fixing these issues, particularly the one about Apple dogfooding the developer APIs into its own apps. This way, they could see firsthand the bugs third-party devs are seeing.