Okay, There are 18 different types of Pokemon. These are Normal, Fire, Water, Electric, Grass, Ice, Fighting, Poison, Ground, Flying, Psychic, Bug, Rock, Ghost, Dragon, Dark, Steel, and Fairy.
Kidding.
There are many roles Pokemon can fill. These include Baton Passing, Spinning, Walling, Stalling, Tanking, Sweeping, Supporting, Hazing/Phazing, and Clerics/Healers (these are the only ones I can think of at the moment, if you know more, please comment).
Baton Passers
Baton Passers are the Pokemon that pass Stat Boosts using the move Baton Pass. Common Pokemon that Pass are Ninjask, Gorebyss, and Smeargle. These Pokemon use stat Boosting moves, such as Swords Dance, Shell Smash, and Belly Drum, respectively. They usually use Stalling moves like Substitute so they can survive when they use their Stat Boosting move.
Spinners
Spinners are Pokemon that use the move Rapid Spin to get rid of Leech Seed and entry hazards (Stealth Rock, Spikes, and Toxic Spikes). It also frees the user of Bind, Clamp, Fire Spin, Magma Storm, Sand Tomb, Whirlpool, and Wrap. Common Spinners are Starmie, Forretress, Donphan, Claydol, and Tentacruel.
Spin Blockers
Spin Blockers are Ghost-Type Pokemon that prevent Rapid Spinners from, well, spinning. Because Rapid Spin is a Normal-Type move, Ghosts would stop it, keeping entry hazards, leech seed etc. on their side of the field. All Ghosts are Spin-Blockers.
Walls
Walls are Pokemon that have high Defense in either stat. These Pokemon are used to absorb hits from Sweepers, and be able to usually cripple the sweeper or just force a switch because their attacks aren't doing much to your Wall. A common move that most walls should carry is Toxic, so that you can stall your opponent to death. Common walls are Skarmory, Blissey, Ferrothorn, and Forretress. There are also Pokemon which are classified as Bulky Waters, which are Water types with high HP and Defense. These include Swampert, Milotic, and Suicune. Most walls also carry a move to recover back their health, like Roost, Softboiled, Recover, Rest, Leech Seed, etc.
There are also mixed walls, which can take both Physical AND Special attacks.
Stallers
I still have a lot to go, don't I. Haha. Well, Stallers are Pokemon that, well, Stall their opponent. Common move combos are Substitute, Leech Seed, and Toxic. With this, They can take hits with Substitute, gain health from Leech Seed (and commonly, also leftovers) and deal passive damage with Toxic, that increases every turn. A common staller is Whimsicott. Due to its ability Prankster, it gains Priority to a status move. That means it will always use a status move like Toxic, Leech Seed, and Substitute first unless the opponent uses a move with a priority level above 1. Since it also gets Encore in its moveset, that means it can lock its opponent into using a not very effective move or a stat boosting move, all the while seeping their health away with Leech Seed and Toxic ;). Most walls are considered stallers as well.
Tanks
Tanks are Pokemon that have High Defense and attack in either stat. These Pokemon are meant Take hits from sweepers and hit them back. They usually pack moves to boost their attacking stats, or both their defensive and offensive stats at once (like Curse). They also usually have a status move to give a status like Paralysis, Poison, or Burn to cripple their opponent. Common Tanks are Gliscor and Snorlax, who can take hits and also deliver some pretty powerful hits as well.
Sweepers
Sweepers are Pokemon that are meant to hit fast and hit hard. They usually pack high attacking and speed stats. There are many different moves that sweepers carry, so I won't name them, though moves with usually high power and accuracy are what they use. Some Sweepers get stat boosts passed onto them from Baton Passers. Some Boost themselves, while others just go in for all attacking power. Common Sweepers are Dragonite, Hydreigon, Cloyster, Gengar, Scizor, and Machamp.
Just like walls, there are also Mixed Sweepers, who have high attacking stats in both categories. Common Mixed sweepers are Lucario and Infernape.
Support
Only 2 more after this one. Stay with me.
Support Pokemon are Pokemon that Support their Team, usually by setting up Entry Hazards like Stealth Rocks, Spikes, and Toxic Spikes. Common Pokemon that fit this role are Forretress, Skarmory, Swampert, Ferrothorn, and virtually any wall that can use these moves. There are also different kinds of support, like Hazers and Clerics.
Hazers and Phazers
Hazers are another kind of support Pokemon that use moves like Haze and Clear Smog to get rid of your opponent's Stat Boosts. These Pokemon RUIN teams that are based around Baton Pass. They usually pack a crippling move, along with Haze. If you didn't figure it out by now, Haze and Clear Smog get rid of your opponent's Stat Boosts from moves like Swords Dance and Nasty Plot, and abilities like Speed Boost and Moxie. A good Hazer is Weezing, as it gets both Haze and Clear Smog (but you only need one!) to get rid of Stat Boosts.
Phazers are Pokemon that use moves like Roar, Dragon Tail and Whirlwind to get rid of your opponents stat boosts, or get rid of the opponent Pokemon in play. Phazing stands for Pseudo Hazing, or fake hazing. They serve the same function as hazers, only using a different move. Since switching out resets all Stat Boosts to zero, these Pokemon can be very useful. They can also be used to force Switching if you feel the opposing Pokemon is a threat. Note that you cannot reset their Stat Boosts to zero with Phazing when they are the last Pokemon in play. Common Phazers are Steelix, Hippowdon, Donphan, Suicune, and Skarmory.
Clerics and Healers
Clerics and Healers are Pokemon that use moves like Heal Bell and Aromatherapy to rid the rest of their team and them of Status Ailments like Paralysis, Sleep, Poison, etc. They can also use Wish and then switch to a different Pokemon the next turn to heal a different teammate, or just stay in to heal themselves. Common Clerics and Healers are Celebi, Blissey, and Miltank. They usually have moves to help heal themselves so they can stay alive to continue helping their team.
Lure
A Lure is a Pokemon that is expected to do one role but performs another. This is done to lure Pokemon that usually counter it out. Some lures include Mixed Salamence, Fire Blast Garchomp, and Mixed Jirachi. Let's use Salamence as an example. Salamence usually runs a Choice Scarf or a Dragon Dance set, both counter by Pokemon like Hippowdon and Gliscor. With some Special Attack investment and using Draco Meteor, Salamence is able to OHKO Gliscor and 2HKO Hippowdon. Garchomp is walled by Skarmory and Forretress, so using Fire Blast to target their weaker Defensive side helps take them out.
Thanks for bearing with me, I hope this explains everything. Hopefully Pokemaster will add a page explaining all the roles, so I don't have to spend nearly an hour writing another one of these answers ._.
Hope this helps.