When it comes to film I always prefer subs, because really it's damn near impossible to dub those without it looking really, REALLY dumb(although I'll admit that for films like Kung Fu Hustle, that actually really works in it's favor, damn I love that movie).
When it comes to games and anime though I much rather have a dub. I see a lot of people complaining about bad dubs, which is odd to me, since most of the dubs I listen to are fantastic (Baccano, Eden of the East, Welcome to the N.H.K., Haibane Renmei, Black Lagoon, Catherine, Shadows of the Damned, Fatal Frame 2, etc) maybe I'm just really damn lucky when it comes to shows/games I like. Also the "it's more natural" argument doesn't work for me since having to read all the dialog,(and in some cases having to pause it, if I get really caught up in the action and miss some subtitles) really takes me out of the experience anyways, so much for that I guess. Also with subs, I can never get the full emotional impact of anything that's said because I'm always understanding what's being said a bit late, throwing off the timing somewhat.
Of course all my arguments are pretty much moot since it all comes down to personal preference, and personally I can't think of a single advantage to watching subs, other than really terrible dubbing, which from my experience (and I watch a lot of bloody anime) is rarely the case, lucky me I guess.