Instead of speaking of a firewall in some mysterious mystical way such as "it stops viruses or trojans", let's just say what it does. It stops packets from reaching your computer. Some malformed packets can cause certain IP stacks to trip up and let bad code get to your computer CPU, so people like to stop extra packets.Firewall = blocking of packets. (over simplifying... but that's basically it)
Firewalls mostly stops packets based on various criterion such as what IP the come from, or what port they're addressed to. A hardware NAT router will basically do the same thing, but doing it with software on the computer is easier, especially when I'm hooking up wireless at new locations.
The folks at GRC.come also point out that without a firewall, your computer will often reply "sorry, I can't respond to that", which begs the hacker to keep trying more probes. A firewall can make it so you computer never sees the unacceptable packet, and so issues no reply.
A firewall can also stop programs on YOUR computer from sending packets out to the world. A hardware NAT router won't do that.
In other words, I don't think people need to prove that anybody should use a firewall. If you don't want the function of a firewall, don't use one. See if there is any performance increase when you turn it off; probably not because other things are slower.