Certainly, exist differences between both implementation, but they run as the same principle of the ipfilter, you may wan to consider things like failover, stateful failover, easy user administration using CSPM and PDM, IP Nat Pools and certainly a better NAT performance, I been using FreeBSD working with different user ranges to perform NAT-PAT and I seen that 500 users equal to 16% NATD processes its enough for the daemon, you may consider the option to configure NAT in the router and filter in the Linux Box , or create some scripts to lease arps entrys to Statics translations in a dynamic way to a better performance.
http://www.freebsd.org/doc/en_US.ISO8859-1/articles/filtering-bridges/index.html