In pratica nel file di hosts c'è il dominio (facebook per esempio) e un ip. Ogni volta che tenti di collegarti al dominio, invece di passare per i dns (1) viene usato quell'ip lì.
Il caso particolare più usato è che l'ip sia 127.0.0.1 che è l'ip locale.
In pratica se nel file di hosts mettiamo:
127.0.0.1 facebook.com
Ogni volta che tentiamo di collegarci a Facebook, in realtà, tentiamo di collegarci al nostro computer e veniamo bloccati. (inutile provare, perché Facebook richiede il blocco anche di altri domini).
Il file di hosts può anche essere usato per creare degli "alias": ad esempio se possediamo un computer nell'altra stanza e vogliamo poterci collegare solo chiamandolo con un nostro nome a scelta (ComputerStudio ad esempio), basta inserire il suo ip nel file di hosts con associato il nome al posto del dominio.
192.168.1.4 ComputerStudio
(1) I dns sono quelli che trasformano un indirizzo come
http://www.google.it" onclick="window.open(this.href);return false;, incomprensibile per il computer, in 173.194.35.191 (prova a inserirlo come url per capire).