It never has been a good idea IMO. It's a ridiculously inefficient method which offers very little actual protection, but can cause a lot of problems later when trying to diagnose network issues.
You're far better off using browser-based solutions like NoScript and RequestPolicy for Firefox. While there are variations on the former for other browsers, only Firefox allows blocking of ALL scripts, including inline scripts, before they're ever executed. RequestPolicy just adds an extra layer onto NoScript. Mostly it's a privacy enhancer, by not allowing subdomains to communicate with one another unless you explicitly allow it. So as a (hopefully) fictional example, let's say CNet builds its own software to track the movements of people across its various websites. All of that information is funneled to the subdomain eviltracker.cnet.com. You can prevent any Cnet website from communicating with eviltracker.cnet.com if you want using RequestPolicy on Firefox.
Not using Internet Explorer reduces your overall risk of malware based threats dramatically. I personally stick with Firefox. Chrome as a browser is an excellent bit of software, but you look at the list of extensions and there are a lot of commercial interests being represented for almost every category you can imagine. Firefox extensions, OTOH, are developed primarily by enthusiast users who are scratching a personal itch and sharing in case someone else might find it useful. There have also been a number of cases recently where some company will offer the developer of a popular Chrome extension a lot of money for the rights to the extension. The new owner embeds some kind of spyware garbage that manipulates search results, etc, and then pushes out an update that will likely get updated automatically by most users. While it could happen with Firefox, to the best of my knowledge, it never has. And to be fair, Google has been pretty good at exiling these bad actors from its extension repository, but the damage is generally already largely done by that point.
Virtually every home router will have a firewall built into it, but if for some reason yours doesn't, the Windows Firewall will be sufficient. All you need to do is fend off automated probes when they come knocking to see if they can find a way into your system. Anyone who thinks that ZoneAlarm or anything else is going to stop an actual human hacker, should you do something stupid enough to make themselves visible to said hacker, is going to quickly find out just how useless those programs are.
The rest is mostly just keeping on top of security updates pushed out by Microsoft and vendors for other software you use and not falling for phishing scams and the like. If you really feel like you need additional protection, something like the program PeerGuardian would provide a much better alternative to a HOSTS file. It has logging, a nice interface where you can turn things on and off to test, plus it's quite a bit more visible so harder to forget it's there when suddenly some website won't load and your browser gives an error like it no longer exists. It's also considerably more efficient and won't produce the same large amounts of overhead like a HOSTS file.
HOSTS files were intended so you can give an easy to remember name to a computer on a LAN. If you have 5-10 different computers, it's probably easier to remember them as "Bob", "Larry", "Steve", "Frank", and "Joe" instead of 192.168.0.100-104. That is what a HOSTS file is supposed to do, not this nonsense a bunch of idiots playing at being some kind of computer security expert have come up with.
I used to use one on my old windows xp, till it seemed to slow down my computer too much. Of course it was "old".
Now I have a new windows 8.1 system. Don't get too many redirects, but I do get some. Using Avast.
Got my boot times down to an average of one minute, wondering if a hosts file would affect that?
Thanks in advance,
Eddie

Chowhound
Comic Vine
GameFAQs
GameSpot
Giant Bomb
TechRepublic