Memcache and XCache are two different things IIRC.
This is from memory so there may be factual inaccuracies xD
Memcache is purely for storing stuff like the vBulletin datastore and other such variables, whereas XCache will actually cache the files themselves, perform some kind of magic on them to make them run faster.
Memcache is better if you are running a database server on a separate box from your web server, because it's got clustering features that help multiple sites access the same data etc. It's basically a service that runs, rather than something that just speeds up each page request.