One reason for using a load balancer in front of multiple search heads is to enable users to access one of any of the multiple search heads using a single point of access.
Using a load balancer will also ensure access to search artifacts and results if one of the search heads becomes inaccessible.
Keep in mind the following gotcha:
The load balancer must employ layer-7 (application-level) processing. Configure the load balancer so that user sessions are "sticky" or "persistent". This ensures that the user remains on a single search head throughout their session. "
Edit 2016: You might be interested in checking out the benefits of Search Head Pooling as well: https://answers.splunk.com/answers/330572/how-do-we-sync-user-created-dashboards-and-saved-s.html
You need to look into search head pooling
We ran into issues were we couldn't do this because our NFS mount wasn't fast enough. It needs to be pretty fast in order to perform well.