A carry is a hero who is weak in the early game but extremely strong in the late game, especially with high-cost items. The other players have to "carry" this hero through the early game so that he can farm up to be successful, and in turn he will "carry" the rest of his team through the late game by melting enemy heroes. One thing to note is that carries generally remain fragile for the entire game, so you still can't be too aggressive even if you do get farmed up. The general strategy of any team fight revolves around keeping your carry alive and killing the opposing carry. Carries are the primary source of steady DPS (as opposed to burst damage) on your team.
Initiator / Tank
An initiator is a hero who can get in on a group of enemy heroes and be disruptive enough to allow his allies to get in and start dealing damage safely. Initiator is a dangerous role to play, and you can expect to die a lot if you are unskilled or have unskilled teammates. If you rush in to initiate, and your teammates don't follow, you're going to be dead for no gain. The initiator usually has multiple stuns and enough damage output that it is dangerous to ignore him.
Tanks are generally the same as initiators, although calling something a tank usually also implies that it has a lot of HP. A tank must be a good initiator in order to be effective, or else it is too easy for the enemy team to ignore him and carry on through a team fight taking out higher priority targets that are easy to kill instead.
In LoL, this is also called an Assassin. Gankers specialize in moving quickly or invisibly and dealing huge burst damage to a single target. They also usually have some way to stun or immobilize their opponent. The playstyle of choice for a ganker hero is to pop in unannounced and completely ruin one opponent's day before he really has time to react. When an enemy gets too comfortable laning, a ganker should come along and coordinate with his teammate in that lane to get an easy kill.
A jungler is a hero with good sustainability and good ganking ability, although it's not necessarily as dedicated as a ganker. Junglers tend to have low-cooldown, low-cost abilities that they can use frequently to deal damage to creeps or keep themselves alive. They also usually have at least one disable so a surprise attack against an enemy in a lane will give them more of an advantage during a gank situation. A good jungler must be able to keep up with his teammates in experience without relying on lane creeps so he doesn't steal experience from his teammates.
A support is a hero who is best when teammates are around. They tend to be ineffective in combat by themselves, but can turn the tide of a team fight by empowering their allies around them. Support characters usually have multiple abilities that can buff allies in various ways, by increasing their damage output, decreasing their damage taken, healing them, and sometimes even making them invincible. Support characters are usually highly mobile, so they can move around the map quickly and help wherever they're needed most. Because of this and their lack of reliance on items for themselves, they are generally responsible for placing wards in strategic locations around the map.
A pusher is a hero who specializes in taking down waves of creeps extremely quickly. By doing this, they are able to keep pressure on the enemy tower early and often win their lanes first by taking down enemy towers quickly. In the late game, pushers can use the creeps to push a tower extremely quickly, sometimes before the enemies can even react. Sometimes, pushing this hard in the early game can be counterproductive, because it leaves you open for easy ganks and gives your opponents the safety of having their tower right there for cover. Pushers (at least in LoL) are not required for a good team composition.