I think a lot depends on what sort of game you are running.
If XP is mostly combat based, you'll get a lot of combat. Many people like combat, so it makes sense for those games.
If it's more exploration based (like treasure for XP), you'll get more of exploration, less combat, since fights won't be rewarding (unless there is treasure involved). So for sandbox games, this is the best.
Personally, i don't like leveling by GM fiat, because it takes player agency out of the equation. Why do anything? You'll level the same. Might as well play it safe. But then it's mostly a plot/story based game, where combat (or level) isn't that much of a factor most of the time, then it works okay.