I will ban bots and human spammer on site unless I feel the human spammer can be "cured". However, besides illegal activity, racism and extreme trolling - I try not to ever ban at all...
If someone was spamming the forum out of sheer spite, I will normally ban on that alone. Another thing would be total disrespect for user or when they disregard any previous warnings to correct an issue.
I am normally quite a forgiving individual unless an offender is actively seeking to cause harm to the community in some shape or form (For example, a user that registers with the sole purpose of "trolling.")
I am quite generous in terms of second/third/fourth/etc chances. Anyone can make the occasional blunder or get a little heated in discussion. So long as an individual does not actively seek to be a miscreant or abuse my generosity, it's incredibly rare for me to resort to a ban...even a temporary one. It's a punishment I generally save for those I truly feel are a "lost cause."
Spammers are not entitled to the same treatment, of course. Spam bots and human spammers alike will receive immediate ejection from my community.