A number of sites are set up with this double caching, especially if a Varnish server is front ending/edging multiple sites AND the cache lifetime on the Varnish end is less than the cache lifetime on the drupal end.
Example.
You set up files to have a cache lifetime of 10 minutes on your drupal site, but you set up Varnish to have a cache lifetime of 5 minutes.
As anonymous users hit your website, Varnish serves all pages up to that 5 minute mark, but then allows drupal to come into play for any not there, or that have expired.
If expired or otherwise not in Varnish, and they are less than 10 minutes old, drupal's cache serves them up quickly and Varnish then does the same for the next 5 minutes.
While this might seem odd, it allows Varnish to keep a "hotter" cache, and since its in memory, you really want it only to keep stuff that is being hit often, so by keeping it's cache lifetime lower, odd ball pages aren't kept cluttering it up (especially if as mentioned it is serving multiple sites) yet are somewhat readily available on the drupal end in its most probably larger disk based cache.