Clusters, like Grids are Distributed Systems.
Distributed Applications differ from Parallel Applications in that they are run on a many of computers, instead of in a single computer's memory.
what is a computer in this context?
basicly processor with memory.
while Grids are about task diversification at different computers, Clusters run the same application on each of computers for a service reliability & speed.
there's a Load Balancer software that queries Cluster parts for resources use, then dispatches a service requests according to it's strategy.
a strategy can send a request according to lightest load, or there can be priorities associated with IP address, or do something else.
load balancers can be replicated as well - for robustness, client can choose which load balancer to contact on his own.
clustered applications use the same database, often replicated as well.
database's copies are synchronized using Transactions.
see also, if You wish or need, ... : Kacper Cluster.