I divide NAT into two different types: Source NAT (SNAT)
and Destination NAT (DNAT).

Source NAT is when you alter the source address of the first
packet: i.e. you are changing where the connection is coming from.
Source NAT is always done post-routing, just before the packet goes
out onto the wire. Masquerading is a specialized form of SNAT.

Destination NAT is when you alter the destination address of the
first packet: i.e. you are changing where the connection is going to.
Destination NAT is always done before routing, when the packet first
comes off the wire. Port forwarding, load sharing, and transparent
proxying are all forms of DNAT.