With Windows Servers, you can setup a cluster using built in Network Load Balancing.
The interesting thing about doing load balancing via software, is that once you get up around 4-5 servers, you stop gaining in performance when you add new machines, because of the added overhead associated with mainting N number of new relationships between the servers.
Also, if you use NLB and you set them up to not use any type of server affinity (i.e. a users request might hit any of the servers at any time) you will pay a serious penality if you are using SSL because each new request to a new server will require a new negoation of the SSL credentials.