chess.com puts some effort in detecting cheaters. When I was active user I was receiving messages stating that such and such game was lost to cheater and my rating is updated to reflect that.
Cheater detection sounds like very interesting problem
Cheating detection can only be achieved statistically (it's kind of like proving a random number generator isn't random).
It makes it easy to achieve great accuracy in the long run, but hard to be accurate in the short run, because you don't want false alarms. So 99.9% of cheaters may get banned after a few games, but since they keep on coming up (it's not hard to simply register another account, after all), the frustration they're causing is always going to be there.
Good idea, apparently this is - or at least was - already being done on lichess, albeit not without some controversies (of the sort that's fairly typical whenever shadow banning enters the picture).
I cheated hard on this adventure time card wars game. Basically they stored "gems" offline on the client, so instead of buying a few gems, I'd just set the value like gems=9999999.
The thing was that matchmaking would match you up based on how many gems you spent. It inadvertently just set us all up with cheaters. The free game was pretty meh, but cheater's hell was a lot of fun. Everyone had every card, so the only way to win was being good at the game. I'm rather sad they killed the game eventually, it was a pretty well designed game.
I think bot hell for chess would be interesting too, the game becomes who can make better bots.
Cheater detection sounds like very interesting problem