All routers provide network address translation (NAT), which is
similar in effect to a firewall, in that it makes computers on your
LAN not directly visible from the Internet. In addition many (most?
all?) newer entry-level routers incorporate some sort of firewall.
For example, in Linksys's description of its basic wireless router
(WRT54G), it says: "The Router protects your PC from most known
Internet attacks with a powerful Stateful Packet Inspection firewall."
In addition, by default, Windows XP SP2 turns on the Windows
firewall. So you don't really need to install a third-party software
firewall (which often just adds more overhead and slows things down
even more).
The reason why some people insist on using 3rd party software
firewalls (such as ZoneAlarm) is that they detect outgoing connections
to the Internet. Thus, if you get infected by some malware that
"phones home," ZoneAlarm will warn you. The problem is that most
people just click on the "Allow" button because they don't know what
the program is that is requesting Internet access.
As far as finding out what's running on your computer, open Task
Manager (right click on an empty area of the Task Bar) and click the
"Processes" tab. There are several ways to determine what these
processes are. Sometimes the name is self-explanatory (firefox.exe);
sometimes you can search your hard drive and the name of the folder in
which the executable file is located will suggest what it is; you can
use Google; or you can use a resource such as the Task List from
http://www.answersthatwork.com/.
After you've been using a Windows system for a while, you tend to have
installed, either deliberately or inadvertently along with some
desired application, all sorts of things that slow down the computer
and use your Internet connection. Antivirus software, for example,
usually is set to periodically check for new virus definitions;
Windows, as well as many user applications, also check for updates.
When you install an HP printer, for example, HP also typically install
all kinds of "monitors" that occupy your computer, and some of them do
check for updates.
There are lots of sites that offer help for "slow computers" but some
of the advice can be potentially harmful. This one seems reasonable,
although I suggest not cleaning your registry (as described in the
third heading):
http://forums.majorgeeks.com/showthread.php?t=106650
You can "clean boot" your computer to try to pinpoint what
applications are slowing things down by selectively enabling or
disabling applications using this technique. It's a bit tedious
because you have to re-boot many times, but it can be quite revealing.
See
http://support.microsoft.com/kb/310353
Also see this excellent advice from MVP Malke on how to clean up any
malware that may be infesting your computer:
http://www.elephantboycomputers.com/page2.html#Removing_Malware