Those are what competitive battlers like to call roles. The names speak for themselves, although we will go a little more in depth here.
Walls are Pokemon like Forretress and Blissey who are designed to sponge Physical and Special attacks, and due to being bulky, the opposing Pokemon, likely a sweeper, will switch out if they cannot counter the wall, thus giving that wall time to set up with things such as Stealth Rock or Wish to heal teammates, or spread status problems to the opponent's switch in.
Tanks are Pokemon that focus mostly on bulk, although also have an offensive niche. These kinds of Pokemon are generally slow but make up for this with good defences and a useable offensive stat that allows them to both take a few hits while do some damage back. They are hard to put in words, although they are pretty easy to understand.
Stallers are generally bulky Pokemon, like walls. They focus mainly on crippling and opponent with things such as Toxic or Perish Song, and trap them or stall them out with moves like Protect, draining their HP and slowly but effectively getting a kill. They are easy to counter, though. Taunt pretty Much forces them out, unless they stay in to use a move like Scald, which won't be doing much anyway since most of their EV investment will be in bulk.
There are all sorts of roles that reach such a high number that I won't list all of them; although you are missing one of the key "roles" of Pokemon that happen to be one of the most common; a sweeper. They focus on hitting hard, and fast. They are often frail with low defences, so it is really kill or be killed with these guys. They are common users of the Choice Items and the infamous Life Orb, and are probably the type of Pokemon that the metagame sees most. Of course, the are also the slow kinds of Pokemon that have offensive stats that meet sweeping standards, although don't have the speed to actually out speed their counters. These Pokemon tend to be just "attackers", who will hopefully have some decent bulk or a good priority move to ensure that their bad Speed doesn't hold them back.
I would just like to point out that if you play ingame, like in Black 2 or whatever, roles matter a LOT less. Ingame is practically a bunch of attackers of different types that by facing opponents with no EVs and bad movesets, can take many hits and deliver harder hits to their opponent. Things like stallers are too tedious to use usually, so "hyper offence" is usually superior in this style of play.