This is a straightforward business decision from Twitter's perspective. People seeing someone banned get annoyed but they don't leave. People seeing abuse stop using the platform. Consequently it's better for business to ban people than to let abuse happen. Plus, really, it's better for society. Twitter is run by people after all. They (hopefully) don't want to build a tool people use for abusing others.