I last used Jenkins in the 1.X series and the combination of intermittent breakage, difficulty of config change debugging without xml config diffs (since the UI does not have a 1-1 mapping) and little support for ‘niche’ use-cases put me off plugins. My feeling was that regularly recreating your Jenkins instance from scratch with a script and limited XML is very important for peace of mind.
Things have probably changed for the better since then (and I know Jenkins itself tends to be ok), I just want to express caution with possible plugin enthusiasm (“just one more!”) as they may add a number of moving parts to an already tricky build process.
This isn’t specific to appveyor/travis - network failures happen and any decent CI solution will have some way of caching a bunch of files, so it’s just a matter of implementation (whether on a self-hosted or external solution).
Docker caching already exists on travis, and repo caching will soon exist on travis and appveyor. It’s not easy to get repo caching right, I understand that repo caching in the old buildbot got itself into some pretty sorry states.