Hardware load balancing often provides you with a flexible rule set you create and maintain which allows you to specify when a user goes to what server.
DNS Round Robin is just that --> round robin.
Now, given a dynamic Web site (PHP, ASP, JSP, etc.), you could probably develop a system where by all the servers in the DNS round robin cluster know the status of the other servers; and then when a particular server gets a round robin call, transfer it to another server.
However, that would presume the server getting the call has enough free processing power et all to accept the call and do the transfer.