I have firewall rules set up and also denyhosts installed. do I also need to install fail2ban?
Denyhosts protects only ssh; Fail2Ban protects all daemons.
Yes, why not; fail2ban is very nice software. Fail2ban is a very good firewall for bruteforce attacks, on ftp, ssh, mail server and etc.
No. Denyhosts and fail2ban serve the same purpose, by different means.
fail2ban is neither necessary nor sufficient for system security. It may make bosses and auditors feel better, but a well-configured system should be perfectly secure with brute force attacks bouncing harmlessly off of them. It's also been exploited in the past to lock legitimate users out of their systems.