Corvus over at Man Bytes Blog has been on something of a crusade of late against the concept of "classes" in game design. Now, he probably doesn't know me from Adam, but this is a subject I've happily discussed before in detail, so I'm going to wade in and bare my thoughts on the topic.
What are "character classes"? Well, basically, they're a way of taking what would otherwise be a generic blank-template character in a game and very quickly assigning it a bunch of characteristics, including some or all of the following: aptitudes, abilities, fighting style, appearance, social status, motivation, normal approach to problem solving, starting equipment, political affiliations, and home town.
When we're talking about class in game design, we're really talking class in RPG design, as other genres are yet to really make use of this design element. If you're familiar with many traditional RPGs, you'll probably have encountered the four basic classes as laid down all those years ago by D&D:
* the fighter (mostly close range melee specialist, able to take lots of damage and deal medium damage)
* the mage (versatile spellcaster, able to deal lots of damage very quickly but unable to receive much damage or sustain their output)
* the cleric (healing and support character, whose job is largely to keep their teammates alive and apply positive "buffs" or blessings to improve the abilities of teammates)
* the thief (a stealth specialist, whose prime skills include scouting, theft, lockpicking, and sometimes fast-talking)
Some RPGs also make use of the idea of "races". These mostly act as a secondary layer of class, performing the same functions, so I won't deal with them separately.
Classes really perform two functions. Firstly, in a game that actually allows real roleplaying (very rare in computer gaming, though games like Fallout and the Elder Scrolls series have come very close) anyone who's ever picked up someone who's never roleplayed before and dunked them into a new game will quickly discover an interesting truth - that most people are, by and large, very bad roleplayers. A game is, at its heart, a system of limits, and people will instictively try and interact with a game in terms of those limits. If you give them an avatar that has power without purpose, they will exercise that power fully until they find its limits.
This can have funny results; I'm sure anyone who's tabletop RPGed will have seen a session of "peasant-burning" or similar atrocities; they will have seen creative uses of powers that are totally not in the spirit of the game, such as boiling an anthill to gain a level (because if all kills have an XP value then ants must be worth a tiny, tiny amount of XP - luckily there's hundreds and thousands of the suckers down there in that hill...); and the list goes on.
Or there's the other problem, of an avatar with means but no motivation. New players attempting to roleplay quickly come to the problem of, "Well, why am I hanging around with you jerks? My character has better things to do." That is, they've done enough thinking to see a lack of motivation for their character, but they're not experienced enough storytellers to fill that gap by themselves.
In this situation classes are a godsend. In a system of limits, they are just another limit. Telling someone they're a "fighter class" solves a barrel of problems. It implies a place in the world (normally that of a wandering sellsword). It implies a motivation (money and glory). It implies a favoured approach to problem solving (the use of force) and a few hints about ways they can implement that (feats of strength, skills such as "disarm"). The novice roleplayer is immediately on their way to a meaningful game.
Now, I'm not saying that every implementation of class systems achieves this. Some are, in fact, very bad at achieving this (I'm looking at D&D as a whole, for example). But that's the potential gain you can achieve with an intelligent class system.
Now, in electronic games, there's not nearly so much capacity for roleplaying. But you'll notice above when I listed out the old D&D classes that I defined them in terms of their abilities. And that's really the key to them in an electronic game. In a single player game, they act in much the same way as a difficulty selector - to allow the player to customise their experience. The class selection screen is really asking the player how they like to approach games - do they want an experience filled with fighting, or with versatile problem solving, or with helping others to achieve their goals, or with talking and outwitting? (In fact, this is starting to sound a lot like a variety of game audience modelling studies...)
Again, in order to gain the benefits of this system, you need to support it. If you want the choice to be meaningful, then you have to have just as many problems that you can solve through the thief set of skills that you can with the fighter set of skills. If you want to look at a near-perfect implementation of this, check out the very first Quest for Glory game (also known as Hero's Quest). Here there are three classes (fighter, mage, thief) and the game is fully solvable as each class, requiring not only different solutions to puzzles but a completely different approach to playing. And yet it still feels like the same cohesive game, rather than a different game for each class. (The sequels also did alright at this.) Today, Fallout and the Elder Scrolls games are doing a fairly decent job (although not perfect).
In an online RPG, the classes have yet another element to them, and this is in terms of team building. I may have thought people are inherently bad at roleplaying, but that's nothing compared with their ability to form an efficient team with complete strangers - they, to put it simply, suck at it. Classes are a very quick and simple way to make teams. You identify each role that you think a team in your game will require to function, and make it a class. Then building a team is easy (you need X amount of each class for a perfect team), and each person in that team knows in rough terms what their role will be. You quicky overcome the problem of "too many chefs". Your class system may even provide some guidance as to who should lead, in the absence of someone having clear expertise.
Again (and I'll keep saying this), if you want this benefit, you need to do it well. If you have six classes, then a standard team should be six people that needs one of each class. You DON'T want the situation where they need, say, two fighters, but they only want a thief if they can't find anything better. (I'm looking at you, World of Warcraft.)
Finally, no matter what your gaming medium, classes have a single inescapable benefit, and this is the benefit that has been realised most thoroughly by White Wolf in their World of Darkness RPGs. Classes provide an entry point, via market segmentation. If you look at your potential market, and divide it into groups (by whatever modelling system), and then create one class specifically to please each group, then anyone from your market who approaches the game will immediately be able to see where they fit within the game and the way in which they can enjoy it. I'd suggest basing this on what it is about your game that each market segment will enjoy and identify with. In the RPG Vampire: The Masquerade, White Wolf identified a market segment that wanted to play vampires as hideous monsters lurking in the shadows, and wanted that kind of pacing and atmosphere -so they created the Nosferatu clan. Then they saw a group that saw vampires as ruthless feral killers - so they created the Gangrel. Here, choosing a class effectively lets you set what type of game you are playing, both in mood and atmosphere, to the sort that you enjoy. In choosing a class you immediately feel like you've made it "your game", and gained a feeling that you're at least starting on ground that feels comfortable.
So in summary, sure, I think there's a lot of great things that can be done with classless games, but the concept of character classes hasn't endured for the last four decades entirely by accident - it's continued because it offers real, tangible benefits to your game design. It continues to be an excellent way to offer players individuality and expression in a narrative game, and to offer them direction and purpose in a game filled with complex mechanics.