Right, and what I'm saying is that games that let you choose your attribute/skill gains give you what you were going to have anyway without all the extra grind.
Let's say fighters can start with 1 level in the spellcasting skill, and can raise it to a maximum of 3. Let's just say they can do that. If you choose what you level, you put two skill points in spellcasting and you're done. In a "learn by doing" system, you need to find a nonthreatening enemy to spam your ridiculously ineffective level 1 magic missile spell on until it finally goes up, and then you go back to actually playing the game.
Either way you get your level 3 spells. Either way a low level fighters use weapons on dangerous enemies, and high level fighters use a combination of weapons and level 3 magic. The only difference is that in one system, the player is free to use whatever ability makes the most sense in any given situation, while in the other system they have to waste a bunch of time using their least useful skills.
Neither method inherently makes narrative sense, though either could be justified. But "learn by doing" systems don't make mechanical sense, and "learn by choice" systems do.