It's the fastest, cheapest solution to implement. You'd probably want to do it with BIND in Linux or FreeBSD because most srticles on it will describe that situation, but I believe it's possible in Windows. The caveat is that it has certain problems which make it okay for small situations, but as your traffic increases or you add more machines, the holes start showing.
The other alternative is a load balanced cluster. EV1servers is currently "sold out" of their load-balanced offerings, but they do have a good page explaining the concept.