If you played RPGs, you probably have heard of the term "XP", which means "experience". Experience is a big part of RPGs: your character accomplishes tasks, fights monsters, gets more experience and progresses gaining new skills and abilities. Acquired knowledge makes your character stronger and now they can be more effective in what they do.
This experience model was surely designed after the real world: do something useful and learn new skills from it.
The Wikipedia article distinguishes several classes for XP systems in modern video games.
Level-based progression means you would need to collect a certain number of XP points to get to the next level of your character. Once you are there, either your stats or a specific ability will increase or become more powerful. It is the simplest form of progression: no choice, no matter what type of experience your character gets - the development of skills is linear and prearranged.
Free-form advancement is a game mechanic system where you can "spend" your character points, acquired by "level-ups", on the skills you desire to get advanced. This system is very common and can be met in the RPGs like Diablo or King's Bounty. Usually there is a skill tree and some skills are discoverable only after "learning" the required skills.
Sometimes, once you've chosen one development branch of the skill tree, there is no way back. So once you've become a druid, chances you will relearn as a soldier are very low.
There is also a Cash-in advancement system which looks similar to the Free-form but uses XP points directly to purchase skills rather than character points. I think the difference is - in Free-form advancement each skill has roughly equal cost on the same level, but in Cash-in advancement there are predefined prices for each ability or spell.
The fourth one is called "Activity-based advancement" and in my opinion it is the closest system to the real world. Here each skill has an individual statistic. Your character develops certain skill only after accomplishing the task related directly to that skill. If you kill a dragon - you become better at fighting dragons but not in making food or catching fish.
Your activity directly affects the development of your character and your actions in the game define what you get in the end. So you cannot spend the whole day building houses and then increase your bow shooting skill. It is not realistic, you probably didn't even touch a bow.
It bothers me that this is still not close to real life. I would slightly alter the system and give some experience advancement in that skill even if you failed the task. If you attacked the dragon, was defeated but survived and escaped - I would call it a hell of experience. The mission was aborted and it is far from declaring the victory - but your character must have learnt how to fight dragons, how to survive in the heat of flame and how to hide in the lake while the furious reptile is seeking for offender on the surface.
Pretty sure some modern game has already implemented a combination of all the above and kept it both realistic and engaging at the same time.
For better or worse, that's how the XP system of our bigger game works. Unfortunately it has no difficulty selection screen.