It is a wide question. There are many types of cluster solutions, you can have 2 node clusters or 4 node clusters ,etc. Most of the companies have cluster solutions to have 100% uptime on their application. If the application failed, it can run from other host and user many not see the difference. There are lots of companies provide cluster software, but popular one is Veritas. I believe Solaries 10 provide cluster solution as well. Redhat Linux provides cluster solution as well.
It really all depends on what the purpose is for your set up.. 2 node clusters or 4 node clusters are the most popular, but they are usually custom setups depending on your situation, space, needs, and budget.