I generally prefer subs. There's the odd anime where with a really good dub, it's still fine since you don't notice the mismatch between mouth movement and the sound of English speech like you do with live action.
Once you start picking up another language you definitely notice how 'generous' some subs and dubs can be with translations too. I notice it in some French and Japanese media where the translation can be pretty different from what's actually being said (though usually you're still getting the jist of it). I've noticed it a little in Spanish media too, but I don't know enough Spanish to really judge how much is due to idiom and slang that doesn't transfer over versus creative changes.