Excellent stuff. I've been using it for years. If you're running a public SSH server, you MUST install this. It's for advanced users -- a Python script, not a GUI application -- but it well repays the effort to learn how to set it up.
What it does is to watch a log file for unsuccessful attempts to connect to your SSH server. If there are too many attempts from a particular IP address, DenyHosts blocks all further SSH connections from that address. Optionally, it also connects to a central server and downloads the IP addresses of hosts that have attacked other users. Those hosts are then blocked too, usually before they ever attack you. Your attackers' addresses are also uploaded to the server. This creates a group-immunity effect.
It can also notify you by email when a host is blocked.