Sohaib, I am unable to locate any Microsoft documentation about this, but both HLB and DNS LB work similarly. When you resolve the Front End server's IP via DNS or connect to it via the VIP, it returns you a list of pool members which the client then uses to connect (and caches for future reference).
The only real difference here is that unlike DNS, the BIG-IP will NEVER forward the initial request to a Front End server that is not responding, which should improve response time and eliminate the need for manual updating of DNS records.
Hardware load balancing is only required for Lync/Skype web services, BTW.