I am going to briefly discuss Class-based systems. There are a few things to get off my chest.
I really, really, really . . . fucking . . . hate Class-based systems. I am speaking of those character creation systems that force you, right off the bat, to choose the kind of specialized character you wish to play, immediately limiting your options in the world.
What I hate about this system is that in most RPGs it will take awhile for your character development choices to matter. By then you have invested a great deal of time into your character. So if you find yourself hating his higher-level skills or looking with eagerness at a skill restricted from your character's use then you are either forced to play a character you hate or start all over again.
Okay, let me renege on my conviction a little. In City of Heroes the Class system is well implemented. It works so well because it fits the comicbook genre and the way each Class differs is perfectly explained. The available skills are deliberately simplified and your basic attacks will remain useful, so you know after an hour or so whether or not you will enjoy playing your character.
In, say, Neverwinter Nights, it is difficult to tell exactly what is useful and to whom. I wanted to become an Arcane Archer, and I tried really hard. I just couldn't figure out exactly how to reach my goal. I checked the manual only to discover that I had made a fundamental error early on preventing me from reaching my goal. Not cool. Don't force me to read the entire manual and plot out my character perfectly before even playing the game - make it clear, from the beginning, what it takes to get where I wish go.
One system I loved was Arcanum's. They had a list of different classes which you could select as active. When you gained points toward your level then the game would let you know which skills you would choose to match the class you chose. But it did not lock you into that path. The class system was simply a template you could follow; It led to consistent characters. You could always, however, mix and match your skills to suit your play style.
Morrowind also had an excellent way of doing things. There was a whole big list of generic skills. You chose some skills to be your specialty, then some to be secondary and some tertiary. You gained bonuses on skills that were ranked higher, but you still had acces to every other skill. So this means that if you made a character that specialized in long swords but, upon playing, found destructive magic to be more appealing, then you just shifted your focus. Eventually, by actually using destructive magic, you would gain points in that skill.
I'm just so sick of seeing medieval fantasy games that purport to offer tons of different classes - because often there isn't a marked change in gameplay between classes. When there is a difference, it is usually a shitty playbalance, like an overpowered warrior class or a completely combat-worthless magic-user.
If you want to have classes in your game then use them as templates for creating certain archetypes. Offer everyone the same skillset but ask them to specialize. You could even have them select certain interesting backstories to lend credence to their specialties. In other words, more opportunity, not less.
Maybe leave a Class-based system for a mid-level player. They can either continue their own path or choose from different Focused Jobs. Have these jobs plainly spell out what they restrict.
Do away with this stupid idea: a class can restrict you from using a certain type of weapon. Just because a person is good with a dagger doesn't mean they can't pick up a longsword.
Let's say you have different weapon skill tiers. Your first two slots are your expert weapons. The next five slots are major focus and the five after that are minor focus. All other weapons are unskilled. You get to choose which weapons to put in the tier slots. Now let's assume you have a dagger in an expert slot, but you're tired of using it. The game will warn you that removing it from your expert slot will lower it's efficiency. You put the dagger into a major focus slot. If it's efficiency was at 110% in the expert slot, then it is capped at 75% in the major focus slot. You could likewise take a staff maxed out at 75% in a major focus slot, migrate it up to an expert slot and then upgrade it to 110%. Each tier has a maximum efficiency rating.
If you have a system for base stats (Strength, Agility and the like) then consider having the stats themselves, not a class, clamp their power. This requires clearly opposing stats.
Let's say the stat pairings are Muscle/Agility, Wisdom/Intelligence and Appearance/Manipulation. To quickly justify: I'm assuming that as muscle mass increases, agility decreases and vice versa; Wisdom is life experience and intelligence is book experience (the more you spend acquiring one the less you have for the other); And I'm taking quite a liberty by assuming that people with a pleasing appearance don't have to be be as manipulative as those without (maybe Appearance could be replaced with Image - after all, plenty of rock stars look atrocious but don't have to use any charm whatsoever to score).
Stats can go from 1 to 20 (a strength of one represents major paralysis - I'm assuming that being completely disabled does not factor into this game) and begin at a baseline of 10 (average being, well, whatever you think is fitting). Players get a certain number of points to distribute and have the option of altering their maximums. If you plan on creating an uber-warrior, change your max agility to 15 and max strength to 25. This allows not only for customization of current stats but future stats. Maybe every few levels you could readjust your stats at a small penalty, just in case things aren't working out with your superstrong but not-so-quick warrior.
The basic challenge of, well, any game really but RPGs specifically is this: How do we define nebulous human characteristics in terms that are concrete enough for a computer to do calculations on them? A human GM is allowed to fudge things and embellish - maybe he really wants your hero to find the Tome of Malice, so instead of letting the Soul Eater to destroy you he contrives a last-minute escape. A videogame isn't allowed (or capable of, yet) this kind of leap - your numbers either outweigh the Soul Eater's numbers or they don't, or your item is sufficient to save you or it isn't, or you are fast enough to get away or you aren't.
The way I see it, most RPGs use Class systems because it's just something they do. They can be useful for Pen and Paper roleplaying, but are unnecessary in most videogames. Computers are capable of much more complex interrelationships of skills and abilities. There's no reason to hold them to a standard made so GMs could cut down on juggling numbers.