I don't have a problem with a pure cache - one that will check
whether information is stale before serving it. But caches that
don't check the backend are a gray area. Personally, I don't
have a problem with them, as long as they have a reasonable
expiration period (that is, if the backend data is removed or
modified, the cache should reflect that after a not-to-long period).
But if a cache doesn't expire documents that have disappeared,
or where the expire period is unreasonably large I think they are
wrong. It might have legal problems as well.