Limitar o acesso a um aplicativo a um subconjunto específico de IPs confiáveis é sempre menos arriscado do que abri-lo no mundo todo. Considere o exemplo de SSH que você apresenta. O Fail2ban pode diminuir as tentativas de força bruta do seu servidor SSH. Seu caso de uso geralmente é para sistemas que, por necessidade, precisam ser acessados da Internet como um todo. Isso é útil, mas não faz nada se houver uma vulnerabilidade no SSH.
Evitar que os pacotes atinjam seu daemon SSH usando o iptables impediria que o tráfego malicioso o alcançasse. Também impediria tentativas de força bruta do mundo em geral. A menos que um dos seus IPs confiáveis seja comprometido ou usado como ponto de reflexão, esse controle é muito mais eficaz do que o fail2ban.