And even if you know where you can find the hosts file and know what it's good for, it is tedious to collect all the domains and subdomains and add them to the file. There is no wildcard mechanism like *.facebook.com to block all subdomains.
Another solution is to set up a local proxy and apply filter rules, but this is also complicated.
I would love to agree with everybody who says: You don't like Facebook, then simply don't use it. I don't have an account there, but their clutter is everywhere on the web, "like" buttons and stuff like that. I wish that people who maintain their own website or blog would think more about these things and their consequences, before they add fancy buttons to their page layout from a third party site.