A Cloud is a unique form of a cluster. The main goal of the cloud is the effective use of resources. The resources are allocated on demand and later released to the pool for serving other needs.
A Cluster is usually a concept of several servers that work together, usually dividing the load between them so that, from the outside, they can be regarded as a single system. Simply, a cluster is a very general pattern for dividing workload and providing redundancy to prevent failure.
A Grid often refers to a set of servers that work together on a given massive computation. Instead of just distributing the workload coming from many customers, they divide a single job into subparts, providing the job the total resources that are available.