In the first place i should say that it might seem a bit weird but its a challenge to distinguish between the level of these configurations,for example ,say i want my localhost be accessible through abc.com, i know i should go through two steps:
1.use iis manager bindings
2.add abc.com to dns host file
127.0.0.1 abc.com
But is not clear for me level of these configs and what is each part's responsibility ?

In a complete url request, steps as follows
Complete request
Why to use host file