Like Basketball and other team sports, Dota Teams also have roles for each player. Each role is important in a team. Having 5 carries in one team means you're sacrificing your early game. Not having a single carry is also not a good idea. Well-balanced roles in a team makes it easier for them to win team games. Dota has 2 main categories of roles but there are several sub categories making Dota, still, the number 1 team game for me.
Carry Heroes are the heroes who would get most share of the gold and experience in the game. The reason for this would be their task in coming team battles. That task is to be killing machines. They are the ones who would inflict the highest amount of damage they could in team battles. This is the main reason why they are called 'Carry' (because they carry the team to victory).
By the name itself, they support the Carry heroes. They provide safety for the Carry heroes, they make killing easy for Carry heroes and they disrupt the opponents to have more farm than their carry heroes.
A tanker is a type of Carry hero in which his farming and leveling aims to be equipped with high HP and Armor. His role in a clash is to take all the dangerous skills to prevent his team mates from dying instantly. He can also serve as a bait. Good teams wont attack tanks at once in battles, instead they try to kill other heroes. This reason needs this tank to also improve inflicting damage. Radiance works perfectly for tanks so they wont be easily ignored.
Examples of Tanker-Carry Heroes:
A Semi-carry hero is a type of carry which is useful early game. It would have good nukes or disable skills that helps a lot in dominating the game early. After doing great in early game, they doesn't lose their power til late game. They can still stand up to carry the team having the necessary items.
Examples of Semi-carry heroes:
1. Shadow Fiend
2. Rogue Knight
3. Queen of Pain
4. Priestess of the Moon
5. Night Stalker
These are the heroes who are definitely useless early game. They don't have disables that are good enough to dominate early game. They rely much on normal attack. However, if they happened to got farmed up, they can kill anyone who stands in their ways beating even most of the semi-carry heroes. With their high DPS and attack damage (some includes bash), enemy heroes won't last for 3 seconds getting focused by these heroes. This is the reason why they are ganked a lot early game and pro teams end the game before their time comes.
Examples of Hardcore-Carry Heroes:
1. Troll Warlord
2. Phantom Assassin
3. Faceless Void
Many are confused about this. Ganker heroes aren't only for supports. Carry heroes also gank. In fact, these heroes are more effective gankers. They can kill alone.
Examples of Ganker-Carry heroes:
1. Demon Witch
2. Storm Spirit
5. Fairie Dragon
These are the heroes who stay on their lane to protect a carry hero. They often have healing skills, mana regeneration skills, mana sucking skills for opponents, nukers to harass the opponents and other skills that will protect the carry hero.
Examples of Babysitters:
These are the type of support heroes that move a lot around the map to help carry heroes kill their enemies on their lane. They often have disabling skills to make killing easier and to assure that the gank wont end up to a chasing round.
Examples of Roamers:
1. Vengeful Spirit
2. Crystal Maiden
3. Rogue Knight
4. Witch Doctor
These are the heroes meant to surprise the opponents in team fights. They have good AOE spells that are viable in clashes. 'Initiator' is the term used to describe them because before they are often used as the starter of the fight. This term makes it confusing because AOE spells like ravage can also be used as back up skill. They can either choose to initiate or enter while the fight is going. If I'm going to give it a name it would be "Clashers"(rofl). These heroes may be supports or not but most of them are supports that's why they lie under support category.
Examples of Initiators:
4. Magnus (example of non-support initiator)
5. Tauren Chieftain
It's quite easy to understand that their role is to push. They have skills that makes them capable of clearing up enemy creeps fast or summon units that can tank and damage the opponents tower. Again, these heroes may or may not be supports.
Examples of Pusher Heroes:
1. Holy Knight
3. Tormented Soul
5. Shadow Shaman
Most heroes have 2 or more roles but it depends on how you're going to play it. For example, Prophet (Furion) is a good Pusher but he can also be used as semi-carry and roamer. Most of Dota heroes are hybrid, what's important is knowing the best role for them in given situations.