A router's primary purpose is to "route" traffic from one network to another. It provides a mechanism for dynamically learning how to reach networks and thereby, knowing how to get traffic to said networks. It has the capability to filter traffic based on layer 3 address and layer 4 ports. The primary use of a router should just be to receive traffic on an interface, determine where to send that traffic and forward that traffic out the appropriate port.
A firewall is a more comprehensive security device. New firewalls support routing protocols so it knows how to reach certain networks without the use of static routing. A firewalls objective is to take traffic from one interface, apply some security policy on the traffic and if the traffic meets the policy requirements, send it out the appropriate interface based on the firewall's routing table. Most enterprise class firewalls are capable of deep inspection; that is looking at the application layer as well for malicious patterns.