There are various explanations are available on the internet for cloud computing, the simplest of all would be -- computing done on a remote location over an internet connection, rather your desktop/laptop. The cloud is a smart, complex, powerful, scalable computing system in the sky that people can just plug into, says Web browser pioneer Marc Andreessen
It is similar to on-demand or utility computing but of course with a few differences such as the scale or flexibility. In cloud computing -- clouds can be used not only to perform specific tasks but can handle a wide range of technologies plugged together to support the operations of the company. The key differentiator of cloud datacenter is multitenancy -- where the computing tasks for different companies or individuals are done on the same datacenter using the same set of computers, resulting in maximum utilisation of the computing power at any given point of time.
The common use of cloud computing are -- social networking sites such as facebook or myspace where you could install 3rd party apps on your profile, change the theme etc.. none of these would require anything to run of your system, and apps from different vendors just gets plugged in and communicate through their API to access, compute and display data. Smaller websites or projects, that cannot operate their own datacenter can hook on to open source cloud platform such as Google AppEngine or paid subscriptions of Amazon or GoDaddy.
There are various types of cloud computing -- evolved over the last few years
1. Distributed computing
2. Software as a Service (Eg. SalesForce)
3. Cloud Infrastructure (Eg. Virtual Servers)
4. Amazon EC2 (Elastic Cloud Computing)
5. Google AppEngine
One of the key advantages of the cloud computing is you can spike up the resources such as processing power, storage and bandwidth on demand and pay only for the actual resources consumed as compared to other traditional models, the downside being any outage in the cloud can result in complete non availability of the service.