The recently released Dragonbane RPG from Free League Publishing has a wonderful method for character progression. There are no character levels, instead you level-up your various skills. So everytime you attack with a dagger you’re using your “Knives” skill, your “Bartering” skill at the market, etc.
The mechanism I love is that whenever you roll against a skill, if you get a critical success (a dragon) or a critical failure (a demon) you check a box next to that skill. When the session ends, you roll a d20 for each skill with a checkbox. If the d20 roll is higher that your current skill level you get to raise the skill by one! The system is rewarding you for using different skills and thematically it's you succeeded or failed so spectacularly that you learned something significant. But as you get increasingly better at the skill, it becomes harder to learn new things.
In addition, you get a pool of checks to use on any skills you like according to what you did during the game, including one just for showing-up!
The fact that you can potentially increase your skills after every session is just fun. And the fact that it’s more difficult to raise higher level skills reduces the one-trick-pony issue characters sometimes get when they specialise too much.