By definition a firewall is any number of security schemes that prevent unauthorized users from gaining access to a computer network or that monitor transfers of information to and from the network.
Nowadays with such focus being placed upon online security for both home and office users, the hardware and software firewall has become standard equipment in the fight against unauthorized access. Much like a physical firewall found in buildings and cars, a firewall acts as a barrier between the internet and you. Many software firewalls such as Zone Alarm or Norton Personal Firewall allow the user to tell the Firewall software which applications are allowed to pass through the wall and which is not. For example, if you wanted to surf the net using a browser you would permit the browser access through the firewall. On the other hand if something like spyware was trying to send anonymous information collected from your computer back to its networks, the firewall would prompt you and allow you to decide immediate actions.
Hardware firewalls are also available to home users. When buying cable modems, routers and hubs, many companies such as Linksys and 3Com offer built in firewalls. Their advantages are that hardware firewalls take a lot of the guess work out of maintaining a firewall, but unfortunately this is also there disadvantage. I myself have spent many an hour trying to disable a hardware firewall just because it won't allow the computer to perform expected operations such as accessing websites and playing games.
Personally I've found firewalls to be a very helpful utility when connecting to the internet. I have been using Norton Internet Security and Norton Personal Firewall for about three or four years now and have come to enjoy their advantages. On recent account, when trying to remove a worm from a friend's computer, I was able to block access completely to the specific program, (which is always a satisfying feeling when you gain the upper hand) quarantine the file, diagnose it and replace it.