A cluster is a group of computers organized together to perform the same set of functions. For instance, you may have a cluster running your database software. Or you can have a cluster running your corporate e-mail server software.
A grid is a collection of resources. A grid can be composed of multiple clusters. In Oracle's grid world, you can have a cluster of servers running the database software and a cluster of servers running the Application Server software. Since they are all in the grid, you can move resources from one cluster to another should demands dictate.