Banning users – multiple possibilities

So, I found out yesterday I was banned from Warframe when I didn’t play since last year, apparently because some cheating program automatically detected I cheated. Edit: Actually, someone tried to log into my account.
I also experienced how cheating really hurt a small MMO in alpha stage (Tree of Life).

It led me to a reflexion about how to treat cheaters, griefers and players using foul language.

There are a few questions to ask:
-Do you want to punish your players harshly or softly?
-What is your business model? Do you want to make money?

If you want to punish your players harshly, ban them.
If you want to punish them softly, shadowban them. Prevent them from interacting with legit players, by not letting them join the secured servers, by muting them, by making them invisible.

Regarding your business model:
-Monthly fee: player will keep playing if they are shadowbanned, they might just leave the game if they are banned, instead of restarting from 0, since they lost all the time they invested.
-Buy to play: If you want to make money, banning your players might lead to them rebuying the game to play again. But it means you have to make “ban waves” and not ban players straight away, which means your game is less secure for legit players.
-Free to play: If the cheating players are trying to bypass the need of buying from the game shop, banning them is the best, because they are stealing from you. Players’ frustration is very hard to manage on a F2P game, but this will be covered in another piece.