My basic theory is that there are 5 roles, which must be fulfilled for a party to be successful in Inferno difficulty. This will probably be useful in the lower difficulties as well, but I don't expect it to be as necessary.
Tank: No matter what you do, the enemies are going to get attacks off on you. The tank is the person designed to take this punishment without being killed instantly. The most important aspects for a Tank are to keep enemies from attacking their allies, and to take as little damage from enemy attacks as possible.
Healer: Since it's unavoidable that someone will take damage from attacks, someone also needs to restore that damage to keep them from falling over before the fight ends. The Healer is assigned the important job of keeping their allies alive, through healing and other damage prevention methods.
Control: No matter how well you mitigate and heal incoming damage, nothing beats not getting hit in the first place. The Control character should use every method available to disrupt the movement and attacks of the enemy, to keep them locked down and not killing you.
AoE: Large groups of small enemies will put a huge strain on all of your teammates, and must be dealt with efficiently. An AoE character has the ability to deal large amounts of damage to an entire group of monsters at once.
Striker: In any group of monsters, there will always be one that is the most dangerous. Taking such a monster out of the fight will make things a lot easier for the rest of the team.
As you may have noticed already, there are more roles than there are character slots in a team game. This is because most character will fill multiple roles. For example, consider the following party:
Barbarian: Tank, Control
Monk: Striker, Healer
Sorceress: AoE, Striker
Witch Doctor: Control, Tank
In this group, each character takes two roles. The Barbarian is built to take punishment, but also to control the enemy with stuns and knockback. The Monk is built for single-target damage to take out specific mobs, and also has a good deal of healing abilities. The Sorceress is focused completely on damage, both single-target and AoE. The Witch Doctor uses his minions to keep the pressure off of his allies, and various wall and slow effects to keep the enemy from moving how it wants to.
An important note here is that just because I have AoE and single-target DPS labeled as roles, that's not to say that those are the only people doing damage. This is built with the assumption that everyone will be dealing damage to the enemy in some form, it's just that you specifically need someone who can focus on dealing a lot of damage efficiently to both groups of enemies and priority targets. Also note that this is designed with a "standard" encounter in mind. You may well need to value some roles over the rest in certain situations, for example a boss that hits too hard to tank, and doesn't have any adds to AoE.