Threat

Threat is a measure of an NPC's aggression towards a player. Each NPC has a threat table, and a unit toward the top of the list is usually the target of its aggression. In-game, this is known as having aggro from that particular NPC. The NPC will attack that character if possible, unless something overrides the NPC's target.

Mechanics
Every unit is added to the threat table upon begining combat, and removed at the end of combat. Threat is a positive number beginning at zero upon entry to the table. (Leaving and re-entering combat starts at zero again.) Each NPC tracks opponents using their own threat table.

The following actions accumulate threat while combat continues:
 * Damaging the NPC adds one threat per one damage done
 * Healing any of the NPC's enemies adds one threat per two effective healing done, divided by the number of NPCs who observed the heal
 * Friendly buffs or on-use abilities may add a fixed amount of threat, divided by the number of NPCs who observed the ability

The NPC aggros to a new unit if that unit:
 * Overrides the NPC's target using a Taunt or special ability
 * Exceed's the previous target's threat by 10% while within melee range
 * Exceed's the previous target's threat by 30% while outside melee range

Modifying threat
Some abilities accelerate the rate of threat generation:
 * Tanks have a 5.0x threat modifier from Blood Presence, Bear Form, Stance of the Sturdy Ox, Defensive Stance and Righteous Fury
 * In World of Warcraft: Classic, most classes have talents to influence threat generation
 * When two or more factors apply simultaneously, they stack multiplicatively without any diminishing returns

Many roles also have abilities to reposition themselves within the threat table:
 * Tanks elevate themselves atop the threat table using Taunt abilities
 * Some DPS and Healers use abilities like Misdirection, Tricks of the Trade or Fade to temporarily transfer or reduce threat
 * Some DPS use abilities like Invisibility or Vanish to permanently reduce threat to zero (and possibly exit combat)

Finally, many encounters and other NPCs have abilities which modify their threat table in unique ways.

Detailed values
When expanded, the following tables list currently-known modifiers for threat abilities:

History
Threat management dominated gameplay during Classic and The Burning Crusade, as well-geared DPS could potentially accumulate threat faster than a dedicated tank who had limited options to gain it faster. This compelled other players to slow their combat and use abilities to lower their threat beneath the tank. In subsequent expansions, tanks received increasing passive boosts to threat generation -- becoming a five-fold multiplier by Cataclysm -- rendering threat relatively unimportant to modern gameplay: now a tank either has aggro or doesn't, but they can easily maintain it once they do.

Until Wrath of the Lich King, threat was a hidden variable reverse engineered by the community and tracked using AddOns which predicted threat accumulation through trial and error. These addons worked by tracking a player's status and actions, and then communicating through AddOn communication channels so other players with a matching AddOn could predict their relative position on the threat table. Patch 3.0.2 added new making threat transparent, allowing AddOns to perform this function without any special communication or synchronization.

The most successful addon of this kind was Omen by Xinhuan, Nevcairiel, et al. with 17 million downloads at Curse and 4 million at WoWInterface. At the latter, it remains the most-downloaded "Combat Mod". Prior to patch 3.0.2, Omen also used the Threat-2.0 library to predict and communicate threat levels with players using other AddOns.