I've yet to see a dubbed film that was actually done convincingly, so I'm much more of a proponent of subtitles.
Likewise, I'm no linguist. I can't understand Spanish with a Mexican accent, as in Sin Nombre. Nor can I understand Chinese, as in House of Flying Daggers. Nor, for that matter, can I understand Portuguese with a Brazilian accent, as in City of God (some examples of recent subtitled films that I've seen). As such, subtitling creates a much more authentic experience, for me.
In fact, the only time I think dubbing should be used is for people that have trouble reading subtitles quick enough to keep up with the pace of the film or when/if dubbing reaches such a stage that it's effectively seamless and very accurate.