While it isn't needed for every game that you may want to run there are going to be some games you run where you want to control how your players grow. Basically, for whatever reason, you want to know, or at least have a good idea, of when the players will cross certain thresholds of power. Maybe this is so you can scale content appropriately to the PCs level and do a lot of the heavy lifting before hand. Maybe not. The point is, there are ways to do it. Today, I want to talk about that.
Step 1: Know Your System
The first step, and perhaps most vital, is to know your system Level based systems are easier to control the growth of characters in then other games. Why? Because by controlling the XP flow to the character you control when the player even gets access to certain things. If a player gets an awesome ability at level 5, and you want to control when that happens for some narrative purpose, then it behooves you to know when level 5 is going to be achieved, right?
On the other hand if your system doesn't do levels and lets the players buy things as they go with XP then you need to be a bit more careful. Someone building focused into a niche area - i.e. sword specialist - will get to higher levels of power in their specialty then the person going for a more general build or focusing on two or three things. So, for a system like this you may also want to keep close track of how and when your players are buying what.
Step 2: Plan XP Allotments
Now that you know your system, you want to plan out how much XP is going to go out a session. You can do this any way you want. Have a number of XP each session is worth, or have it so that each session is worth a different amount but that the amounts average out to the stable rate. I personally like having a set rate per session, and then occasionally giving out bonus XP for big events. The reason for this is because it makes it easier to keep track of how far behind someone is for missing a session or two. Which can be important when it comes to the next step.
Step 3: Random Char Sheet Audits
The point of this isn't to accuse your players of cheating. The point of this is to make sure that things are staying on the scale you wanted. As the game goes on mistakes are going to happen. A player will mess up on math here, or misread a number there. Someone will fall behind because they missed 2-4 sessions due to things they couldn't control. Others will have only missed 1-2 sessions. The person who hasn't missed any sessions, by default, then starts to become the most powerful character in the game. Not necessarily a bad thing. In old D&D games it was your right for your faithfulness to the game. Don't miss a session means you get more XP, more gold, and more stuff. Why? Because you also get exposed to more risk.
So, if this isn't about cheating then what is it? It is to find those mistakes. Rebuild the characters you have from the ground up. Figure out how much XP each one has spent, and how much XP they still have to spend. Those numbers - barring missing sessions - should be very close to each other. If they're not, find out where the discrepancies come in, and where players actually are as opposed to where you wanted them to be. In general I don't recommend de-levelling a character to get things back in line, but sometimes it can't be avoided.
As with any big thing you're doing in a game you want to make sure your players are aware of this. if you are controlling XP for some reason - even if just to try it out - your players should know. If nothing else, it will help explain why you are auditing their character sheets on occasion. It will also let them know that you have a plan and are carefully monitoring XP rewards for a reason.
I also want to say that there aren't many games where this approach is needed. Some groups may be more comfortable with it, but I generally side that a strong GM can keep players balanced in screen time and other spotlight moments better than XP ever could.