The article describes two things:
1. Having a virtual IP which can move around between two physical hosts, such that it is "always available". (It will clearly go away if both hosts crash).
2. Using HAProxy to route incoming requests, from the single virtual IP, to both back-end webservers.
This means in the expected & typical scenario where both hosts are online both webservers will handle half the load. When one host fails the other will handle all traffic.
Traffic goes to all the backend web-servers under this scenario, through a single load-balancer device/server.
If that device goes down the secondary takes over.
While if you have millions of requests/sec this scenario wouldn't be quite enough for you, using haproxy with carp/ucarp/keepalived will get you at least 100k connections or more. If you need millions, then you have other problems to worry about as well :).