Holding aggro is job one of the tank. As long as he or she maintains enough threat on a mob to keep that mob hitting him or her and not, say, the succulent, cloth garbed healer or that dude in the flimsy leather who is tearing huge chunks out of its backside, the tank is doing well. But what do I mean by 'aggro' and 'threat'? To try and make it simple, a mob aggros a player or group when you enter into its aggro range, the distance your character can be from a hostile mob before it attacks, or pull it with an attack of some kind. When doing this, you have to be mindful of other mobs around the one you want to engage first, as these mobs will also aggro if they are close enough to the mob you're pulling or entering into aggro range. This is often described as linking or linked mobs. An example from an actual instance: in Scarlet Monastery there are often groups of two, three or even four mobs standing guard around hallways and passages. If you use a ranged weapon or other ranged pulling ability to tag one of these mobs, the entire group will aggro your party, with the person who pulled at the top of all of their aggro lists.
Simple enough, but it gets more complicated once your party swings into action. This is due to threat, which is the way the game determines which member of your party each mobs wants to kill the most. Obviously, as tank you would like that person to be you. However, there are a variety of ways each member of your party can gain the attention of the mobs you're attempting to kill, and some of these ways are unavoidable. One way which you as tank won't be able to avoid is healing threat. Healing threat is based, as you might expect, on how much healing your party healer is healing folks for, and it's global, divided among all the mobs currently attacking your party. If your healer has no threat reduction it's a flat .5 multiplier of the actual healing done, divided among everyone attacking you. So if for some reason your party finds itself fighting six mobs and they can't be crowd controlled for some reason, and a five hundred point heal lands on you while you're tanking them, you have to put out 250 / 6 = 42 threat per mob to keep some or all of them from peeling off of you and onto the healer, modified by how far away the healer is. Players in melee range only need to produce 110% of your threat to pull a mob, while more distant players (ranged DPS and hopefully healers) need to produce 130% of your tanking threat to cause you to lose aggro. This works for threat caused by damage as well as threat caused by healing.
Threat caused by damage is fairly straightforward. If a mob takes damage from an attack, that generates threat on the mob. As you might expect, Area of Effect attacks, or AoE, cause threat to every single mob they contact. There are specific threat reduction talents and abilities every class has, but before applying them, 1 point of damage = 1 point of threat. Wowwiki has a nice table of how each class modifies threat you can look at. For a beginning tank, though, all you really need to know is that you need to have more threat than anyone else. Each class has threat stats (for warriors, shield block value, hit and expertise all contribute to smooth threat generation, while paladins tend to itemize for spell damage for their holy spells and druids don't block at all, relying on their bleed attacks along with hit and expertise if possible to ensure threat) that they will be focusing on as they progress.
Each class tanks differently, of course. I mainly tank on a warrior, although I'm leveling a mid 60's paladin to tank with as well, so I'm passably familiar with how they tank. I refer you to our various class columns for more in-depth advice on how to tank with your class of choice. But in general, in order to maintain aggro you must make sure you are in your proper tanking gear, using your proper tanking abilities. Don't try and tank without Righteous Fury, Defensive Stance or Bear Form, as an example. Be in your tank set. And actually use your high threat abilities to maintain aggro. As a tank, aggro is job #1, I can't stress it enough. You're there to continuously generate threat on a mob or mobs so that they can be controlled and killed. The dirty secret of all this, however, is that in the end there is nothing a tank can do to hold aggro that three DPS can't destroy if they're not willing to help you by playing along. Luckily, for you at least, you don't have to have more threat than all three of the DPS and the healer combined, you just have to have more threat than any one of them: the mobs track threat on each player separately, so at least you don't have the impossible job of having more threat than 4, 9 or 24 other people combined.
Holding aggro is the big job of tanking. But staying alive is what makes it tanking, and not just aggravating some body until they smear you over the landscape. Tanks have higher armor and other mitigation and avoidance stats than most other characters (just try and melee a feral druid in bear form sometime if you don't believe me) and more health because it's necessary for them to be as hard to kill as possible in order to make the healer's task of keeping someone alive who is being pounded on by multiple critters and/or a gigantic fire breathing dragon/demon/whatever that thing is endurable. Healing is a hard enough job, so as a tank you have to gear up to minumum standards for the content you intend on exploring. The targets vary depending on class and level, but you always want to hit uncrittable status (490 defense at level 70 for Warriors and Paladin tanks, 415 defense at level 70 for a Druid tank with the talent Survival of the Fittest) then work on increasing your armor, stamina, and mitigation while keeping your defense at the uncrittable level. Some druid tanks use resilience to reduce their chance to be critted rather than defense because it is easier to find leather gear via PvP that has resilience on it, while defense leather can be exceedingly scarce. For a starting level 70 warrior tanking normal instances, I'd recommend about 10 - 12k health and 11k armor or better. You also don't need to be at 490 defense yet to start tanking normal instances, as the boss mobs will in fact be level 72 elites. 480 defense is easily reachable in mostly greens or drops from lower level instances. For heroics and as you just enter Kara, you'll probably want to be defense capped, have at least 12 k health and armor (I'd prefer 13k for both) and have started to think about threat stats for a trash set.
This of course barely scrapes the surface of tanking. The problem of a general article like this is that you can't really focus on what each class does differently (for instance, Druids rely much more on Dodge, while Paladins use Block Rating a good deal more, and Warriors tend to mix their mitigation stats while pushing the block value) and it barely even covers how to avoid Crushing Blows because each class reaches uncrushability through different mechanics. Warriors, for instance, use Shield Block's 75% bonus to block to push their total combined dodge, parry and block percentages over 103% (102.4% if you need the exact number) while Paladin use talents like Holy Shield and Redoubt. It is harder for paladins to reach uncrushable, but the benefit of Holy Shield is that it lasts longer and blocks more than Shield Block. Druids are much less likely to reach uncrushable, but rely instead on their larger armor and health values (Dire Bear tanks have among the highest armor and health totals in the game) to soak crushes instead of removing them from the equation totally.
I realize there's so much more to both holding aggro and extending survivability for beginning tanks, and all I can do is point you in a few new directions. This week the warrior column will be covering gear for tanks prepping for Karazhan in imitation of this wonderful post from John P. doing the same for bear druids. I intend to eventually give paladins the same treatment as I level mine, but you can start here and look at gear that will be suitable for a paladin tank to begin Attumen with.