In general just the NAT by itself does most the firewall features. When traffic comes to the router from the internet it must figure out which internal machine to send it too. Unless you told it via port mapping rules the router does not know what to do and tosses the traffic away so no traffic even can attempt to hack your machine.
NAT allows temporary rules to be put in so that when a internal machine requests something the traffic can return but it is very narrow rules and quickly expires when not active.
Depending on the firewall it can help protect the router itself from attack even though the NAT solves most that too. A lot of times the firewall is used to filter traffic coming from your LAN. Either stuff you decide is not allowed or some of the common virus attacks. So of a machine were to be compromised the firewall might be able to stop it from attacking other machines on the internet.