I'd say warrior is probably the most difficult class to play well, at least in a raid environment.
What I do to tank a single mob, is enter and use blood rage and apply a devastate to the target. From then on in you want to build threat as fast as possible. So priority wise I use revenge every time it's up, then shield slam, then devastate. All the while if rage allows I will be using heroic strike. So effectively I spam devastate and heroic strike, waiting for revenge or shield slam to become available. If it's a hard hitting boss, or you're far enough ahead on threat, keep up demo shout and thunderclap. If it's a raid boss, keep up shield block at all times unless you're in full T6 at which point it becomes irrelevant.
If someone pulls aggro and you can't taunt before the mob gets away from you, intervene, then taunt. If you're getting swamped by mobs maybe use an intimidating shout but only do so if you won't end up aggro'ing another pack.
Shield wall and last stand are only really to be used on bosses, and if you're pretty certain you're gonna go down.
As for tanking multiple mobs, I play my paladin as it's a pain in the ass as a warrior. Demo shout, thunderclap, and tabbing through mobs applying devastate is about all you can really do.
Edit - Gear choices......
Stam - As much as possible.
Defence \ Shield Block Rating \ Dodge Rating \ Parry Rating - As high as possible, aim for 500 defence.
Agility - Good for dodge and crit chance for better threat gen.
Strength - Low on list of priorities
Expertise \ Hit rating - Allows you to build more threat, stack it if you're losing mobs to DPS.
Int\Spirit and any other stat - Pretty much ignore.