What is Grid computing?

Ian Foster has a really general 4 pages article on the subject. That article is a widely accepted definition of the Grid, even if its focus of decentralization excludes some softwares commonly considered as related to Grid computing.

In short, Grid computing is a way of federating a set of computers (the Grid) to work on computational tasks. The aggregated power of the computers should be higher than the sum of individual powers, and the Grid should offer some non-trivial quality of service.
Grids can be of variable sizes, have numerous purposes and be deployed on private networks as well as on public networks (like the Internet). Computing time can be payed with real money or by offering computing time to the initial supplier at a later time. Tasks might be independent, or need to be run in a particular order (or even simultaneously)...
As you can see, the field is quite large.

In this context, Peer-to-Peer (P2P) Grid computing, which is my field of interest, refers to the case where the trust between the actors of the Grid is minimal and the compensation for supplied computing time is computing time itself. The system has to be wary of leechers/freeriders that will try to abuse the system. This is really closely related to the widely known P2P file sharing, where you "pay" the people sending you files by sending them other files.