Depends on the game. Some (like Destiny 2) actively block the Game Capture process hook from being able to tap into their running processes to grab the video frames.
Others may use anticheat software that does the same thing, and hasn't whitelisted OBS' capture hook as 'known-good'.
Some don't use the kind of framework that most games do, and go do their own thing (usually meaning they just need to be Window Captured instead).
And some games are just coded so utterly incompetently that you'd have gotten more elegant code by randomly smashing two frozen squirrels on a keyboard for an hour with a pair of boxing gloves. Blindfolded. Underwater. While on fire. And the squirrels are on fire.
We really can't answer such a generic question with any accuracy. You'd have to list specific games that it doesn't work on.
It's like asking "why doesn't my car start?". There could be a TON of different reasons. :)