I do all that. I spend hours trying to get this junk off my computer that I did not put on there. I have several software programs that are supposed to prevent it from getting on, and others that are supposed to take it off. Still, the stuff gets on, and causes my computer to freeze up in some awkward circumstance. I will take some of these programs off my computer, and then 20 minutes later, they are on it again. They ought to at least pass a law requiring that companies not load these products onto any computer more than once. If I take it off, then they should not be putting it back on.
The guys in Washington are too busy dealing with stuff that doesn't matter, or is not their job, to deal with the important stuff.
C:\WINDOWS\I386\HOSTS
C:\WINDOWS\DRIVERS\ETC\HOSTS
Some of these parasites are clever and will contact the server from which they originated if they are removed (a separate, companion startup program sometimes checks for them and does this).
I got just such a parasite a few weeks ago when a DSL outage forced me to connect directly to the Internet without a router. Sure enough, the DSL came back up while I was at work and someone stuck spyware on my machine. The Ethernet light on the modem was going crazy when I got home - while the computer was sitting there (ostensibly) idle. A number of legitimate-looking programs, with names like "Class", were part of the cluster of executables comprising this particular annoyance. All had to be removed - deleted from the Registry and physically renamed and then deleted on the hard drive, with several intervening reboots. It can be done, however.
In most modern networks, your HOSTS files should be empty. Forgive me if any of this seems overly pedantic as I've no idea of your level of technical experties.