Of course there is a lot that has to happen in the background to make it all work, but the way iCloud was peddled to the masses, the front end of the service is meant to be shiny and straight forward.
Unfortunately, that is not always the case and iCloud does not always “just work.” If you are trying synchronize data, and something gets hung up in the process, there is nothing you can really do other than to repeat the attempt. Even then, there can be lengthy wait times while iCloud initializes and determines what tasks will be performed.
Some developers are pulling the plug on apps to support iCloud. Michael Göbel wrote on his blog that all his iOS application development is on hold, “Core Data and iCloud sync are still a joke. I can’t count the number of developers and companies that all ran into the same trouble and finally gave up—meaning they dropped iCloud support completely after hundreds of thousands of users lost their data.”
For database-backed applications, that is bad news. Some developers have resorted to creating their own synchronization services, others have begun to develop their apps to use services like Dropbox. Of course there are the ever-faithful that are holding out for Apple to render a solution.
Either way, the promise of iCloud has not been realized and since the introduction of iCloud (and the subsequent retirement of MobileMe), we have been witness to a complete product lifecycle in the meantime. Bare Bones Software’s Rich Siegel summed things up pretty succinctly, “We and other affected developers are continuing to iterate with Apple regarding the technical problems we've run into. However, if iCloud sync can't be made to work, perhaps another service will do the job.”
source: Ars Technica