APC is somewhat faster than Memcached, since it makes an internal call rather than going over a socket - a network socket at that.
However, memcached, being a distributed cache, is useful if you want to cache a ridiculous amount of data. However, I've never found that SMF takes much advantage of this possibility, or well (in fact caching at level 3 gives serious issues).
Using both is useful in a small set of limited circumstances. For example, in the new CMS code I've written, multiple machines may have unique configurations associated with them. Thus, the config data gets loaded by APC (apc_load_constants), while memcached caches everything else in one or more pools.