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