That's how D&D was supposed to work, but it doesn't really work that way. For example:
- Fighters are supposed to provide leadership, spot enemies approaching, and defend their allies from attack, but they don't actually get any abilities which let them do so. (there are other classes which do)
- Most of D&D's healing spells are ridiculously weak. In videogame RPGs combat is long, and there are spells which can restore 100% of a character's hp. In D&D combat usually lasts 3-4 turns, while enemies inflict damage twice as fast as it can be healed. The person with healing abilities would be helping more if they did other things in combat, and only healed between fights (or in emergencies). Or you could just use wands and potions for healing.
Basically, none of the classes are really necessary, just traditional. And it's possible to make almost any class fill any role, though some require more effort than others. Eg. if a spellcaster specialises in summoning, binding and barrier spells ("battlefield control"), then he'll be much better at defending his allies than a fighter. The crusader class is mostly a fighter type, but when he attacks an enemy it heals his nearby allies.
And as Keveak said, an unusual party composition just means you can run a game with a different focus. It's hard to run an intrigue-based game with a traditional party because fighter types often have poor stealth and social skills, so their player will be left out. Likewise you could run a game set in a wizard college, where everyone plays a spellcasting class.