I have mixed views over how to deal with these things in a place where you don't really have a company enforcing zero-tolerance policies over. (i.e. Valve)
For every behaviour outside cheating and attacking the server directly, there's warnings, temp-bans, and the like.
But cheating is... well, cheating. A hard topic to make fair nor please everyone with the method of punishment.
And if anyone has managed to ever slither into my Steam profile they might notice some age old red text there indicating a cheating infraction a long time ago. Yes, hello, I "was" a cheater once.
Though, guess who learned the hard way. Zero-tolerance = Banned for life, thus I had to heavily rethink my actions back in those days. Not to mention I was a normal player otherwise elsewhere. I think the worst part of that whole ordeal was that I legitimately did not care for the consequences at the time. I got mad enough against other cheaters that I did the most stupid thing known to man, cheat back at them. But as everyone should know by now, that's just going to hurt more. It ain't just you it'll hurt though, but a whole lot of other people in the games you encounter until you finally receive that boot to your rear.
And in case anyone wondered, it hurts a helluva lot more to know you're booted out of one of your favourite games and can't ever go back unless you buy it again. (And in this case, in a whole new Steam account.)
Did it teach me a lesson? Yes, and I suppose you could say it still stings back at me every time I am reminded of it.
Cheating to me, is more of a case of severity.
If the person shows little to no care, keep him out completely.
If they have somehow shown care and still do, perhaps in what they've done, their efforts in multiple places, demeanor, then perhaps give a sole and single chance to reform. Otherwise, staying out.
There's probably more to go on but that's just for the sake of simplicity.