Outra diferença entre Fail2ban e Denyhosts é que os Denyhosts podem compartilhar a lista de bloqueios com outros usuários do Denyhosts. Com o Fail2ban, você só pode bloquear IPs que seu servidor já viu antes - com Denyhosts, uma tentativa de força bruta pode nunca chegar ao seu servidor, se alguém o viu, e a lista de bloqueios é baixada no seu servidor antes do invasor chega ao seu computador.
Outra diferença é que o Fail2ban usa o iptables, enquanto o Denyhosts usa o tcpwrappers. Outros já mencionaram essa diferença antes, mas há algumas notas secundárias que vale a pena mencionar.
O iptables é limitado em quantos endereços IP você pode bloquear com eficiência. Essa é provavelmente uma das razões pelas quais o Fail2ban não possui um mecanismo para compartilhar listas de bloqueios.
Outro efeito é que, quando o iptables é substituído por nftables, o Fail2ban provavelmente parará de funcionar ou precisa ser reescrito. Denyhosts provavelmente continuará funcionando.
Portanto, ambos têm vantagens e desvantagens. Eu gosto de ambos; por mim mesmo, estou usando Denyhosts porque geralmente só quero proteger o SSH e gosto de compartilhar a lista de bloqueios.