Cloud computing is at an early stage, with a motley crew of providers large and small delivering a snotload of cloud-based services, from full-blown applications to storage services to spam filtering. Utility-style infrastructure providers are part of the mix, but so are Saas (software as a service) providers such as Salesforce.com (which is barely profitable). Today, for the most part, IT must plug into cloud-based services individually, but cloud computing aggregators and integrators are emerging and are hoping to be able to make money with it.
Most fail to see the distinction between utility computing vs. platform as a service vs. cloud-based end-user applications, and only due to economies of scale can anyone make any money with it and even that will likely only be at the infrastructure level. The software level is pretty much all Open Source, and there's zero money to be made there. Oracle is betting heavily on Cloud Computing, but even they don't seem to realize that with Cloud Computing it's not the database software that matters, it's the data contained within it, and the kinds of services can be built against the data.
Cloud computing comes into focus only when you think about what IT always needs: a way to increase capacity or add capabilities on the fly without investing in new infrastructure, training new personnel, or licensing new software. Cloud computing encompasses any subscription-based or pay-per-use service that, in real time over the Internet, extends IT's existing capabilities. So Cloud Computing will be more based on the services that use data, moreso than on how you get at the data or where it is stored.
Amazon's Elastic Compute Cloud, for example, offers you full Linux machines with root access and the opportunity to run whatever apps you want. Google's App Engine will also let you run whatever program you want, as long as you specify it in a limited version of Python and use Google's database.
When this type of computing works and lines up with your needs, it makes the services seem like an answer to your prayers, but when it doesn't, you'll want to change the name from Cloud Computing it Iron Ball and Chain Computing. Every nifty feature that simplifies the workload does it by removing some switches from your reach, forcing you into a set routine that is probably but not necessarily what you'd prefer. They aren't customizable because they can't be. They either work or they don't, and the one size fits all apps don't do much of anything very well.
The future of Cloud Computing rests on exactly what happens already, where apps and services will get better only if, and because more and more people use them. But that's the Catch-22 of Cloud Computing. If it doesn't work, people won't use it.