When a site adds Facebook it's using connect.facebook.* the main bulk of the list is just whitelists for Facebook users (first-party). The hosts file will break all of Facebook even if you visit it directly. The better option is to just block Facebook outside of Facebook.
No. The better option is to just block facebook everywhere, including direct access.
Just my humble opinion.
Because his list blocks facebook in other sites but lets you use facebook itself if you ever want to?