There are several types of "clustering"
3 main types the way I understand it.
You have backup (failover i gues) clusters. You have 2 or more machines, one machine keeps a exact mirror of the other machine's information. So if one crashes the other can come back up automaticly.
Then you have server (Load-balancing) clusters, were you have 2 or more machines that share workloads. I guess kinda like harddrive raid stuff, but for entire computers. 2 fileserver, distributed network filing systems, database mirrors. All that stuff.
I guess they call those 2 types high-aviablity clustering.
Then you have computational clusters. Were you need to get done computational stuff so you split the workload up between different computers. You have stuff (in linux-land) like Beowolf-style, were you create a single machine image so a bunch of computers combine their workload into one sudo-gigantic-computer. Check out the top 500 most powerfull computers, they are now hundreds of power linux clusters out their, and then that "Big Mac" one of OS X machines, which is the 3rd most powerfull computer in the world. Another version is like Linux Openmosix/mosix clusters were you have a network of computers that behave like a SMP machine were you move proccessing threads from computer to computer to spread workloads around. (Beowolf needs to have programs specificly designed to use them, in Openmosix it's transparent to the users and any (especially multithreaded) programs can see benifits.
Most clusters are a conglomeration of these things.
Like Google use Linux clusters, it has nodes of something like 20 computers (kinda guessing at the actual numbers) that act as one computation bunch, then they have several nodes of these computation clusters that mirror each other to spread out the network load. Then they have several backup-nodes that don't do anything but wait for a computer to fail in on of the work-nodes so that it can kick in so that technitions have time to fix that computer and bring the node back on line. They find that with they set up they can create and mantain a high performance/gigantic internet database with a minimal number of technitions and they developed everything in-house.
Windows can do clustering too. I don't think that Windows XP can do the "normal" network/backup load style networking stuff that windows servers (w2k, w2k3) can do out of the box. But people do work to turn windows machines into computation clusters, but I don't think their is a huge demand for this stuff since Linux is so popular for this stuff.
windows 2000 style clustering
High performance computation for windows "homepage" I guess.
Beowolf.org You can find lots of information on these all over the internet via google searches. Lots of home-made stuff for small colleges and doing stuff like astronomy caculations type stuff
Openmosix.org This is the easiest and most usefull for hobbyists and stuff. You can even burn knoppix-style live linux cds and build clusters out of a hodge-podge of different x86 machines in a short time