Distributed resources is what defines a grid.
Although good answers thus far I believe most of you have missed some of the big key points.
To my knowledge there was a committee which has defined protocols to standardize cloud computing. Google, amazon, microsoft, the big name players have all implemented their own cloud solutions to provide SAAS provisions for internal and in some cases external use.
In terms of cloud computing for the end user it is just not there yet. People think of the cloud as in: "My computer is strictly virtual with as client accessing it wherever I am physically located." This idea is not yet ready and will take much effort to form protocols and specifications for interoperability.
There are great examples of cloud computing though. One example in the educational sector is "ChindaGrid". Google it if you wish. It was a project from CERNET in China to provide computational resources to institutions such as universities. IBM has extensive interest/effort put forth towards grid computing.
Also it should be noted that p2p is a form of grid computing. Distributed resources is what defines a grid.
Remember the internet came about in the 60's for physicists to communicate across distances and then expanded to DARPA/ARPNET project for government use to have a decentralized network with no single point of failure. We are talking how many years before the internet as we know it became alive. The grid is still in its infancy and will take time to mature but the idea of scalable on demand provisioning is where computers will go without a doubt.
Great question, looking forward to other answers/comments!