The Core Equation
The amount of threat that a tank can generate depends on gear, talents, and skill. It also varies based on the number of mobs, the kind of mobs, and to some extent on what the rest of the group is doing (see Allison's article Abilities I usually wish didn't exist in 5-mans for how the group can screw with tank threat). DPS threat is similarly based on gear, talents, and skill.
However, any DPSer can always do zero threat by not attacking.
In other words, we DPSers have little control over our tank and how much threat he generates, but we have complete and total control over how much threat we generate. Losing aggro is not something the tank does, it's something we do to the tank.
Bad Tanks Are Bad
Without question there are bad tanks out there. Lot's of them in fact, even some that aren't death knights. There are tanks that do far, far less threat than they should be doing. And if we're good players, that forces us to do far, far less DPS than we could be doing. If we're bad players that means that we'll be pulling aggro constantly. Once you realize you have a bad tank, here are your options:
When It May be Okay to Pull Aggro
- Quit the group: usually by the time you wait for your debuff to wear off and requeue and wait for another tank (who may be no better) you'll find that it would have been more time efficient to just stick out the group. The only real reason to bail on a tank is if they are taking more damage than the healer can heal (usually meaning they aren't crit immune) or in specific fights where high dps is required to win, and it's literally not possible to do with your tank's threat. These situations are very rare.
- Vote to kick the tank: while satisfying, this is pretty much identical to #1 above. Odds are you're hurting yourself more than the tank, who will instantly get in a new group.
- Yell at the tank: a very popular option is to yell at the tank and insult him and call him a noob. Sometimes this will dro nothing to change the situation, but every now and then your tank will actually pull a large group and then quit the group, leaving you to wipe.
- Do less DPS: a surprisingly unpopular option is to just suck it up, do your job, and don't pull aggro. This may mean spreading your attacks between enemies, doing lower damaging attacks, auto-attacking, or even pausing your attacks from time to time. It will certainly mean waiting a bit before starting your attack. It's also likely to mean you should dust off your CC skills to help your tank limit the number of enemies he needs to generate threat on at a time.
There are certainly exceedingly rare occasions when I'd judge it okay to pull aggro, although I can only think of two.
I Hate Bad Tanks Too
- Your very first auto-attack pulls aggro. Assuming you don't have a threat meter like Omen to know how much threat the tank has, you can accidentally pull aggro with one attack before realizing just what caliber of tank you have. Thereafter, of course, you should be giving the tank more time to build threat and it shouldn't happen again.
- Pulling a mob off a healer. The tanks with bad threat generation also are often oblivious to the mob that's eating your healer's face. If you don't have a CC option, it is certainly valid to pull the mob off the healer and kite it to the tank. Note however that one you have aggro you should stop attacking it in hopes that your tank can pick it up once you deliver it to him.
Let me be clear here that I hate bad tanks just as much as you do. I spend a lot of time honing my DPS skills and working to do as much damage as possible. It's immensely frustrating to have to curb my death dealing ways because of someone who doesn't even appear to be trying.
And like you, I have on occasion just gone ahead and went all out on a mob I knew I could burn down before it reached me. I feel dirty every time I do it, because it goes against the first tenant of being a good DPSer: never pull aggro.
In the end a tank who can't generate much threat is usually a bad tank. But a DPSer who consistently pulls aggro is also a bad DPSer. Again, tanks don't just lose aggro -- DPSers take it from them. Every time I'm in a PUG with a DPSer who pulls aggro every other pull and then yells at the tank, I throw up a little in my soul. So before you accuse someone of being a bad player, first take an honest look at yourself and make sure you aren't one too.