CloudFlare hides the IP address the domain/website is hosted on but it can't hide the IP address itself. The majority of types of attacks that CSF and fail2ban protect against (like bruteforce attacks, etc) are attacks where the attacker is targeting an IP (or range of IPs) and not a specific domain so you definitely still need CSF (or other firewall) and fail2ban. You also might want to add flarewall (which acts as a bridge between CSF and CloudFlare and keeps the blocked IP lists in sync http://flarewall.net/ )if the websites can't be accessed by the bare IP
Mostly because cloudflare handles it from the DNS side of the thing. But there's still going to be those zombies that'll try to brute force into your server directly by IP.From my experience:
I use cloudflare, but still found in the iptables and lfd logs that there are still IP were being banned.
So.......my conclusion is: There is still a chance that the 'intrusion' attempting to break after cloudflare (or ....something)