NAT doesn't do port forwarding it does address translation. For example: your connection to the internet is via an IP addresss of 345.23.123.xxx. You have several machines on a local network that need access/need to be accessed. The LAN uses 10.123.456.xxx for it's IP addresses. The NAT function facilitates communications messages/replies between the external internet IP and the internal LAN IP's by translating the internet routable addresses to internal addresses and vice versa. Most quality routers capable of NAT also are capable of port forwarding which refers to mapping traffic to a specific port on the incoming interface to a specific destination port at an internal address (the port may be the same (forwarded) or different (translated).
Stateful Packet Inspection refers to examining the packets of data sent and received by the router and filtering them based (in part) on the "state". State in this case refers to how the packet relates to the connection - eg is it a originating packet, is it a response to a previously sent packet, is it part of an ongoing communication, is it unrelated to any previously sent packet, etc.