First of all, Cloud Computing is a hot buzzword. There have been other terms for pretty much the same thing in the past. ASP is certainly one of those, as is SaaS.
I suppose the main two concepts of Cloud Computing are that
- it removes the need to maintain physical hardware from the user, and
the ability to scale up and down very quickly, meaning that it is
- technologically possible to use a much higher or lower amount of the service than usual at very short notice and
- the contractual and billing arrangements are almost completely usage-driven (no fixed costs) and short-term (can sign-up, ramp-up, cancel at any time).
Many services offered on the Internet can fit under this fashionable umbrella.
Another interesting aspect (and this probably sets it apart from traditional ASP) is that in addition to the end-user using ASP/SaaS instead of his own hardware to run his software, the provider of that service also does not necessarily own any hardware, but can use storage, backup, computing, delivery providers himself. This makes it possible to start running an ASP with almost no initial cost. It also puts you at the mercy of a complex layer of service-level-agreements.