What's the functional difference between the "disabled" and "external" caching setting?
External caching is just a caching system that doesn't use the database tables used by Drupal to cache data, or doesn't use any table in the database used by Drupal. Example of external caching systems includes APC, eAccelerator, Memcache/Memcached, Varnish, XCache, or even a system that uses files instead of database tables.  

All those systems surely cache data, or there would not be any difference between using them, and disabling the cache completely. The only difference with the standard Drupal cache system is where the data are cached.