Researching on the differences between Advanced Firewall Policy (APF) together with Brute Force Detection System (BFD) and Fail2Ban I couldn't find much. They use different methods, at the same time both solutions essentially do the same thing - they analyze logs files and based on predetermined patterns block offending IPs via iptables.
Nevertheless, there are lot's of tutorials which explain how to set both APF and Fail2Ban on the same systems, so they do not override each others' entries in iptables. And there I am confused: why to install two firewalls, which do the same thing? Or I am missing something? Do they complement each other? Does any them do something that the other solution does not?