NetPeeker will show you exactly what programs are using how much bandwidth in upload and download speed. It log's many aspects of your connection. It will give you a list of the current programs that are running (and/or processes) and show you how much bandwidth each is using. From there you can also click for example "iexplore.exe" and get more information and see what connections are being made to/from your computer using iexplore.exe then you can disconnect/limit the speed of/ban/etc one of those connections. For example if a connection from some sort of spyware is made through IE you could see it's address/port/etc information then ban that address from connecting again.
You also have the option of viewing several graphs and logs about your connection. You can look back on for example this day last week and get a graph of incoming/outgoing bandwidth, or select a program that was used such as Kazaa and see a graph/log for the bandwidth that it used. You can also go back a week before (or however long you keep the log) and do something such as ban an address that connected to you if you want.
Also has a firewall, some pre-defined firewall rules which you can enable/disable or create your own. Most that are set by default block certain types of spyware sites from ever being accessed by your computer (you can disable that if you want, but WHY would you?).
http://www.techspot.com/gallery/data/504/1330netpeeker1.jpg