Hello Chris,
There are two categories of caching system.
1) PHP code caching
Xcache, OpCache, APC are php extensions which allow to cache the php process to not have to reprocess a file each time.
2) Advanced Caching system
Redis, Memcached, Varnish are advanced caching system. Redis is often use for object caching, because it's a kind of optimized mysql and you can use it to process the long queries instead of mysql. Memcached is a memory caching system and Varnish is a proxy for static files caching.
Currently for WordPress Redis is the most powerful solution because it doesn't make the website static and can speed up any wordpress. Memcached is less efficient. And Varnish is harder to setup and require somes tricks to be used properly and with SSL.