The content of the Security Analogies wiki is now available here, under theGNU Free Documentation License 1.2.
Thanks to A2dak for the content of this page.
A firewall is similar to a wall around a city or a wall around a building. It can help protect either a network or a specific computer. It can prevent traffic from going into or out of the city except through designated gates. Another term for these gates would be ports. For example, if you want someone to be able to send you email, you would open up a specific gate and email could get into your network.
The gates do sometimes have guards (application gateways) that inspect the traffic as it goes back and forth. But of course the guard can also be attacked, if you're lucky an unconscious guard means the gate is locked because the guard won't open it. If you're not the guard will block the gate open.