Couple of topics in this one!
Virtual Router Redundancy Protocol- RFC 2338
This is an OPEN standard...meaning not Cisco Proprietary. You basically have a master and backup router(s) with this config. You still create a "virtual router" but you actually use a physical interface of one of your routers as the virtual router IP address. The preempt option is enabled by default, and the protocol multicasts to the other routers to multicast IP address 220.127.116.11. The MAC address for VRRP's virtual router is 0000.5e00.01XX (where xx is the group number in hexidecimal). The newer version does support object tracking. Learn more at:
Gateway Load Balancing Protocol
This IS a Cisco proprietary protocol. You still have your configuration in a "group," and there is still a virtual router. You end up with 1 virtual IP, but there are multiple mac addresses for the virtual router. This is how you end up with your load balancing. Normally the active router, or active virtual gateway will respond to host queries in a round robin fashion, giving them router 1 mac, router 2 mac, and so on. This way when hosts send to the gateway they are using the virtual ip, and one of many macs. You can fine tune this mac address giving...so to say. It can be in one of 3 modes...round robin, host dependent load balancing, or weighted mac assignement load balancing (i.e. mac 1 (50), mac2 (10), mac 3 (40)).
Server Load Balancing
Basically you can take a group of server and configure the router to display them as one entity. More to come...