Network load balancing is the ability to balance traffic across two or more WAN links without using complex routing protocols like BGP.
This capability balances network sessions like Web, email, etc. over multiple connections in order to spread out the amount of bandwidth used by each LAN user, thus increasing the total amount of bandwidth available. For example, a user has a single WAN connection to the Internet operating at 1.5 Mbit/s. They wish to add a second broadband (cable, DSL, wireless, etc.) connection operating at 2.5 Mbit/s. This would provide them with a total of 4 Mbit/s of bandwidth when balancing sessions.
Session balancing does just that, it balances sessions across each WAN link. When Web browsers connect to the Internet, they commonly open multiple sessions, one for the text, another for an image, another for some other image, etc. These sessions can be balanced across the available connections. An FTP application only uses a single session so it is not balanced; however if a secondary FTP connection is made, then it may be balanced so that the traffic is distributed across two of the various connections and thus provides an overall increase in throughput.
Additionally, network load balancing is commonly used to provide network redundancy so that in the event of a WAN link outage, access to network resources is still available via the secondary link(s). Redundancy is a key requirement for business continuity plans and generally used in conjunction with critical applications like VPNs and VoIP.
Finally, most network load balancing systems also incorporate the ability to balance both outbound and inbound traffic. Inbound load balancing is generally performed via dynamic DNS which can either be built into the system, or provided by an external service or system. Having the dynamic DNS service within the system is generally thought to be better from a cost savings and overall control point of view.