Like Web2.0, Cloud Computing is a fuzzy word, and everyone seems to have a different definition for it.
I like this definitions that I found in Wikipedia:
"It is a style of computing in which IT-related capabilities are provided “as a service”, allowing users to access technology-enabled services from the Internet ("in the cloud") without knowledge of, expertise with, or control over the technology infrastructure that supports them."
We can see from this definition the relation between cloud computing and SaaS (Software as a Service), where you provide software solutions as services on internet (it is stored on internet, and cached on your machine) like Google Calendar, GTalk, Google Docs applications offered by Google Apps.
In cloud computing, information and persistence data is permanently stored in servers and data centers on the internet and cached temporarily on clients
I am not sure about the difference between cloud computing and grid computing, but I think cloud computing is using and utilizing grid computing.
I am still confused about the difference between Cloud Computing, Utility Computing, and Grid Computing.