IPCHAINS supports the following features that IPFWADM doesn't:
"Quality of Service" (QoS support)
A TREE style chains system vs. LINEAR system like IPFWADM (Eg. this allows
something like "if it is ppp0, jump to this chain (which contains its own
difference set of rules)"
IPCHAINS is more flexible with configuration. For example, it has the "replace"
command (in addition to "insert" and "add"). You can also negate rules (e.g.
"discard any outbound packets that don't come from my registered IP" so that
you aren't the source of spoofed attacks).
IPCHAINS can filter any IP protocol explicitly, not just TCP, UDP, ICMP