Server Clusters are designed to be used with special kinds of applications called "stateful applications". These include database servers like SQL Server, e-mail and messengers like Exchange, and also file and print servers. They are identified by their long-running in-memory data states, and rapidly changing data sets. Essentially what this means is that all data on all cluster nodes needs to be identical at all times.
In a server cluster all of the nodes are connected to the same "data set", be it a shared SCSI/SAS bus, Storage Area Network (SAN) or other network storage device. Because they are all accessing the same data, any one of the servers in the cluster can process a request from clients at any time.
For efficiency in this model, you can configure each node as "active" or "passive". Active nodes, of course, receive and process requests. Passive nodes, on the other hand, remain entirely idle, doing nothing more than sending out "heartbeat" messages to check and ensure that the active node is functioning. Should the active node fail, the passive node can immediately become active and take over.