A lot depends on where you are and how long you will be treating your water.
If there are viruses, then iodine is a good thing, for some are so tiny that they slip through the best filters.
If there are bacteria, then iodine is usually not necessary if you have a really good filter to catch the wee things.
If there are cysts (e.g. beaver fever), then iodine is not useful because it has little or no effect on the the little buggers. A good filter can do the job.
Iodine will not remove chunks of stuff in which nasty beasties may be living – only a filter will do this.
As far as metals, gasoline, pesticides and the like, there is not much you can do beyond filtering out the chunkies to which they may be attached, but certainly iodine would be useless.
If you need only occasional iodine treatment, then don’t worry, but if you will be using it extensively, then look into its effect on your body, especially your thyroid.
In short, for most situations in North America (and almost all wilderness in Canada), a good filter is superior to iodine. For folks who drink urban outflow, filters which add iodine are the ticket.
For the third world, start with a good filter which adds iodine.
For emergency use, boiling for a long time is your best bet.
Here is a page on the subject which is pretty good:
http://www.providenceco-op.com/waterfaq/waterfaq.htm