I disagree with the definition of load balancing given here. Load balancing is the use of more than one server as if it is one system by passing client requests transparently to whichever server the "load balancing algorithm" decides should get it.
You can load-balance between hardware servers, routing packets to separate machines, or you can load balance between software systems, routing requests to different server processes. It's faily common practice, for example, to run one web server and several servlet containers, and let the web server route servlet and
JSP requests to the servlet containers either randomly, based on server load or based on session id.