I feel personally.. and, well, I'm gonna use Fallout 3 as an example here, as it's the game that's been making me think about this a lot.
Fallout 3, you get experience for stuff like finding new places, completing quests, killing enemies, blah blah.
This EXP is measured against a level bar, when you have, say, 1000, you're now Level 2. Woop-te-do. At Level 2, you got a certain amount of points which you used to improve skills, repair, small guns, etc. You could also add a point to your 'SPECIAL', which was Strength, Perception, blah blah. Now, I'd personally prefer a system which combined a lot of methods.
For instance - when I find a new town, I gain.. say "Life EXP" or "Level EXP", whatever. This is used to grow a level and at this level, I can improve my bodily stats such as strength, charisma, blah blah. (In a FO3 context this would also allow you to gain a perk, although this is not true in all games.)
I would, however, also like my stats to improve AS I use them. Instead of gaining 4XP for killing an enemy, I could get slightly better with the weapon I killed it with, condensed into Morrowind-esque categories. (blade, short blade, etc.)
This is one of the things that bugged me about FO3, some of the stuff I never used, but due to my bizarre compulsion to keep all of my levels similar, I basically had to pour EXP into them.
Now, instead of getting better at say, repair as I upgrade to Level 2, I think I should slowly get better as I repair, as I learn that ducttape CAN hold my rifle together.
Bit of a rant, I apologise.