What is the difference between a router and a firewall ?
By definition, a firewall is a system that protects the resources in a private network, while a router is a device that moves (or routes) data packets among networks. NAT in routers is simply a byproduct security feature.
With that out of the way, the main differences between a router and a hardware firewall is in number of featires and price.
Most low-cost Home/SOHO routers have a built-in DHCP server and NAT/PAT, which assigns private, non-routable IP addresses to LAN clients, and as a byproduct provides simple and effective security features.
Higher priced firewalls/routers provide additional security features, such as Stateful Packet Inspection, VPN support, content filters, intrusion attempt logs, etc.