Skill Loss... in Design Philosophy
See, the thing is with that much freedom, there IS no balance.
Not being able to perform two actions at the same time does not mean that any combination of potential actions is balanced with every other combination.
Classes are also a way for players to have clearly defined roles (and, hopefully, usefulness) within the context of the game. As Alathon points out, classes will develop by skill combos anyway. Whether this is desirable or not is an open question. Even within classes, sub-classes will develop based on builds if there are options.
Balancing classes is easier because of limits that are usually associated with item usage, etc. You can say that healers can't use swords, for example, but how do you do that with a healing skill and a sword skill? Healing doesn't work when you have a sword equipped? Easy to circumvent.
Citing literature as a reason classes are "needlessly restrictive" is absolutely silly. Just because it works in a book doesn't mean it works in a game.
As I've already said, classes provide a means for the developer to actually give a game some semblance of balance. If players can pick and choose skills, they will min-max them as best as they can, creating "classes" anyway which are simply one more step removed from the developer's control. Yes, you CAN balance these "classes", but any small change to anything will have unintended consequences.
On top of that, classes promote diversity. In a skill-based system, one or two builds will become the most common because they are obviously the most effective (see: Ultima Online). Any attempts to make other skills more effective will result in them being rolled into whatever the crowd favorite is. With classes you can balance them properly and provide actual diversity, rather than hypothetical "oh nobody's going to choose the same combination" wishful-thinking diversity.