Apparently most people have a shaky grasp on 'Cloud Computing'...
The short version:
A system whereby computing power has been abstracted away from physical infrastructure so that it can easily be bought, sold, and leveraged as a commodity.
The Long Version:
'Cloud Computing' is simply the next step in abstracting away the maintenance and infrastructure requirements involved in developing and supporting software platforms.
Cloud can be broken down by the types of services it represents...
SaaS (Software as a Service):
Geared more toward users. This can be anything from a website, CRM webapp, to a REST API. The point is, the data/interface is made accessible but the hardware details have been sufficiently abstracted away enough that they no longer matter.
Basically, you take software and make it publicly accessible. Requirements such as installation, resource usage (ie memory/cpu), updates, etc are no longer relevant. You connect and it works.
PaaS (Platform as a Service):
Geared for use by developers. These include anything that has 'hosting' after it. Including webservers, email servers, dns management, etc.
Basically, the platform options are limited to whatever the is provided by the hosting company but they can be leveraged by developers to build on.
IaaS (Infrastructure as a Service):**
The newest addition to the party and where the 'Cloud' name probably originated. It's geared toward providing a full system architecture (ie complete OS) that can be built on without any need to maintain physical devices.
Basically, developers are given access to a virtual machine to develop and deploy. Since the virtual machine is decoupled from the hardware, it's much easier to migrate and clone that machine to whatever physical locations are necessary.
Where 5 years ago, providing region-specific hosting would probably involve a lot of manual work to clone the platform to servers around the world, IaaS platforms automate the process.
It provides a LOT more flexibility compared to PaaS because the developer gets full access control over the VM. On top of that, the number of physical machines actually hosting the image can be easily increased/decreased to match demand (ex such as during peak access).
It's no longer necessary for businesses to worry about downtime or scalability. IaaS costs more than PaaS hosting because it requires more resources but it's still significantly cheaper than hiring dedicated systems administrators and providing the bare metal in-house.
There are probably hundreds of different types of _aaS platforms that exist in the wild but it all boils down to one concept. Computer hardware has been abstracted away to the point where systems have become a commodity that can be traded at whim.
Need a thousand clones up and running in 10 minutes for the Super Bowl, not a problem. Need them scaled back to 10 just as quickly, also not a problem. Need clones to do heavy number crunching? Yep, those exist. What about massive amounts of storage space to host media? Just as easy.
IT infrastructure in general is not revenue generating so the only gains to be made will come from minimizing cost. One way to do that is reduce/eliminate/automate the infrastructure as much as possible. At the end of the day, all the developers want and need is a platform to build their services on. Companies like Google/Amazon/Rackspace all specialize in massive scalability so doesn't it make sense to tap into their infrastructure?
The disruptive change that 'Cloud Computing' represents is that it's no longer necessary for anybody but designers, developers, and creative/media types to own computers that include a full OS. The web, games, documents, social applications, business applications, everything is being made accessible on the web.