I do not see any advantage in class based design. Unless your envisioned role aligns perfectly there will be a disjunction between the role your play and abilities the character has. The most strict the class based system is, the worse it becomes.
To me it stops working when the rules and the reality of the game start diverging.
For example, in 2e you've got relatively restricted niches and limited multiclassing. If you want to play an enchanter, you play a mage, and presumably specialize in enchantment. There probably aren't any multiclasses available to you (maybe if you're an elf you can do fighter/enchanter or something; I don't recall). There are no other spellcasting classes that do this. If you want to be an enchanter, play one. Maybe there's a kit for you if you really want to go all out. You could try playing a bard this way, though it wouldn't really fit.
But in 3e, if you want to be an enchanter, you could be a wizard specialized in enchantment (possibly trading in your bonus feats for various special enchantment abilities), but you could also be a generalist wizard with various enchantment-related feats, you start as a wizard and then take a prestige class like master specialist, you could be a sorcerer (arguably more appropriate with the Cha stuff), you could be a beguiler, you could even play a cleric (or favored soul) with enchanting domain spells or a bard who shoots for one of the casting prestige classes or a warlock with charm invocations who then goes for the enchantment prestige class. You could even play one of the enchantment oriented fey as a monster class. At this point, what you're really looking at is no longer a class system; there are so many ways of achieving the concept of "enchanter" that the class by that name has lost most of its relevance.
I think it does work okay if you think in terms of strict in-game castes. For example, in Dragon Age, all the mages are in towers under a guild and they represent a specific group of people with inborn talent, so it makes sense to define them as one class. In a game as diverse as modern D&D, which doesn't have a setting or even a strongly implied setting, and where there are so many different mechanical subsystems, it doesn't make as much sense.