Here are some differences:
1. A cluster is homogenous while grids are heterogeneous. Computers that are part of a grid can have different operating systems and different hardware, while a cluster computers all have the same hardware and operating system.
2. A grid can take advantage of spare computing power on a computer that is part of the grid, while the computers that are part of a cluster are must work as a single unit and cannot do any other tasks.
3. The computers in a grid can be widely dispersed over a LAN or WAN, while the computers in a cluster are generally housed in a single location.
4. Resources are handled differently in clusters and grids. In the case of a cluster, the whole system (all nodes) behaves like a single system and resources are managed by a centralized resource manager. In the case of a grid, every node is autonomous (i.e. it has its own resource manager and behaves like an independent entity).