There will be people using your site that just need to go away. They're different from your typical pharmaceutical spammer because they genuinely think they're not doing anything wrong. If you tell them to stop posting affiliate links to timeshares, they'll put themselves in this box of "banned for doing nothing wrong", and simply start a new account posting affiliate links to timeshares in a slightly different way that hopefully will get around your algorithm.
The worst part is that after enough time, and enough tries, you'l have given them (and the pharmaceutical spammers as well) detailed instructions for how to circumvent your spam protection. All every step of this does is add more work to you to run your site for the people who you want to have there.
So the simplest and most effective thing you can do is make those people think they have succeeded. Let them promote their timeshares (and v1agra) to their heart's content. Just don't show anybody but them.
Real people have friends who read their blog and will point this out if it happens by mistake, and you have a "fix" button in your admin console to hit a few times a year.
Trust me. Run your own blog host for a few months and you'll implement this too.
Maybe shadow banning is quite fair and necessary and the answer is for people to educate themselves about it and go to other places where it won't happen to them. #rollyourown
These matters are not simple at all. I'm still trying to decide on whether Fb ultimately is a 'public square' vs. a 'private publisher', as is basically the whole world.
Shadown banning is an act of fraud against the user, with the hope that it's mostly against malicious already-banned users and that false positives will get it undone.
But since the cost of shadow banning is on the users and the benefit is on you, there isn't a particular incentive to not miscalibrate and cause a lot of damage to users.
The only backstop is that if you're very far into the false positive domain it'll kill your venue but because shadowbanning is invisible by its nature it requires a truly massive amount of false positives to have that effect.
There are also secondary damages that good users worry that they've been silenced and don't comment. E.g. after my last several submissions to HN received no comments I suspected I might be subject to some kind of shadow ban (since HN engages in that sort of thing) and stopped submitting.
HN does this too, if enough people downvote a comment it will disappear from the conversation, but not from the posters viewpoint (and if you have showdead on, as a reader it shows up as lighter and lighter shades of grey).
The rational behind it is that if a spammer notices that their post/account has been banned, they can quickly spin up another one.
Apparently this is quite effective against spammers, (or used to be) but of course seems extremely unfair in the case of false negatives.
So when you say dishonest - how would you feel if the fine article was written by someone who said he had wasted 2 months on Medium writing posts that try to trick people into downloading malware before he realised that Medium had shadowbanned his account?
If you mention them that they're banned, they might just use another account and persist in their spam.
The problem of this approach in this case is that user was not an spammer.