And some cheats happen on a different device. There is no way anti-cheat software can defeat those (even eye trackers are not perfect).
The design question is about software that abuses the game state, which is sent to the client, but not displayed to the player (e.g. wall-hacks), and software that sends impossible input (e.g. speed hacks). Anything that manipulates mouse input is very hard to counter.
In the end, all the technical solutions have limits and you need other means to solve the issue (e.g. play with friends/live events). However, anti-cheat software tries to counter many cases that can be solved by better implementations (e.g. servers that send very limited information to the client).