When evaluating whether to use Varnish, I have to consider whether the added complexity layer is worth the ~20% performance gain over just Nginx -- is it worth it? Also, whether I have RAM or fast storage to burn for cache purposes. The answer to those questions is rarely yes. Only on one server for one site has it proved profitable, where the VM is a 1:1 user of the server and needs to milk all the performance it can get (high traffic, Drupal core). Generally, application-level caching and Nginx tuning have proven to be the best mix of results.