Power-gaming requires the ability to plan your character.
Playing stereotype characters requires the ability to plan your character.
Games that emphasize balance require the ability to plan your character.
So, because I like my games kinda old school, I don't care much for the ability to plan your characters.
Stats should be rolled randomly, straight down. I also allow the player to swap any two stat values for each other before getting on with the rest of character creations. This allows a meaningful but minimal amount of control over the character's trajectory.
Then I randomize the number of items characters get. Usually basic clothes + 1d6 other things. This isn't a rule for how much the character has to their name, but rather how much they have on them at the beginning of the game. Rolled low? Well, maybe your character was just robbed by bandits, and strolled into town without two coppers to rub together.
Race and class are the player's choice, but since stats are mostly random, this is another instance of meaningful but minimal control. (Combine that with VERY simple races and classes that only grant abilities at first level, and you have a nice open ended character on your hands.)
Lastly, when characters level up, I have them roll on one of two tables. Even levels is a 1d6 table for increases in HP, extra spells, etc. Odd levels is a 1d6 table for increasing one of your stats by 1.
I want to give an example of how you can use this to enhance your games, in case you aren't already sold on the idea.
EXAMPLE: Grimbug, the orc warrior, had just achieved level 2. His player rolled nice strength at character creation (hence the warrior class), and he has a nice dexterity. In my game, that means he is pretty good at sneaking around. But he is a warrior, so he doesn't think about sneaking all that much.
That is, until Grimbug's player rolls on the d6 level up table and Grimbug gets a +1 to stealth (which translates into a 5% increase in stealth check successes in my game). Well, suddenly Grimbug's player is gonna think about stealth more, and probably try it out more often.
See, random level-ups denote what the character will be better at in the future. They speak to a part of your story that has yet to be told.
Level-up bonuses that are set and selectable are indicative of what has already happened...which has already happened...and can no longer help make your game more fun.
A friend of mine was recently bemoaning his players' cliche character and race combos. Dwarven fighters, elvish rangers, halfling rogues, etc. He's running a 5e campaign, but this player trap has been around for a loooooooong time. I'm not saying my style of game is a 100% fix...
...all I'm saying is that when Tordek the Dwarven fighter starts developing magical abilities he doesn't understand (and his player didn't foresee or plan) it certainly makes him a lot more interesting.