When would I choose IPTables over an Ambassador pattern for port forwarding?
iptables will probably scale better than socat because socat runs completely in user space.  There's a common impression that iptables is hard to deal with, but I find it easier that most routers to fiddle with.  There are a number of iptables wrappers available to make it easier to handle.

If you're willing to accept the performance hit of running in user space then consider haproxy over socat because it is intended to run over longer periods and provides statistics, failover, SSL termination, and lots of other conveniences.