The ability to check another player appears to be solely (or mostly) based on the weight (not checking) of the players. A difference of 2 weight means a very high success rate of a check in open ice. The higher the difference, the higher the success rate. Separately, the success rate of checking someone into the boards is extremely high, almost regardless of weight.
THE WEIGHT BUG: Intuitively, a heavier player should be more resistant to checks, and be able to check lighter players. However, there is a bug in the game that reverses this logic, such that LIGHT players are the big checkers and are resistant to checks, while the heavier guys all fall down easily. This is commonly referred to as the weight bug, and it’s why light players like Theo Fleury (3 weight) are indestructible and heavy players like Mark Messier (10 weight) can’t knock anyone down and are getting flattened by these lightweights.
The effects go deeper than just checking ability/check resistance — weight also affects speed and agility. Not only are the lighter guys able to resist checks and lay people out, they are generally faster and more agile. Combining all those factors, heavier players are a disadvantage in the game, and why you would consider benching Cam Neely (10 weight) for Ted Donato (4 weight) if you were playing with the Boston Bruins.
But wait, there’s still hope!
C/B CHECK: It turns out the weight bug is only in effect when you are in control of a player. When the player is controlled by AI, the ability to check is “normal”, where heavier guys will knock down lighter guys.
Using this knowledge, you can press the B button to switch to another player immediately after pressing C to check your opponent, leaving the AI to finish the check without the weight bug. This skill is referred to as the C/B check, and it makes heavier player relevant again. Now you can knock Theo Fleury down with Mark Messier, using the C/B check method.
Here is a video demonstrating some CB checks. Notice how you switch off (press B) right after initiating a check (press C), allowing the heavier player to check the lighter player:
Ultimately this means you will have to know the weights of all of your players AND your opponents during the game, and decide if you should execute a regular C-Check (light guys on heavy guys), or a C/B check (heavy guys on light guys). Understanding these concepts is important, as they will be referred to in the Offensive and Defensive strategy sections.