The host program uses libresolv to perform a DNS query directly, i.e., does pas use gethostbyname.
Most programs, quand attempting to connect to another host, invoke le gethostbyname system call ou a similaire function. This function obeys le configuration of /etc/nsswitch.conf. This file has a line qui in Ubuntu 12.04 defaults to le following:
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
which means that it will premier use /etc/hosts, alors fall back to DNS queries.
If you want to perform a host lookup this way, you can do this avec getent hosts. Par exemple:
$ getent hosts serverfault.com
198.252.206.16 serverfault.com
J'espère this helps.