An immediate thought on this- would be proxies. So it is no good relying on clearing the cache in the local browser, if it is being served a cached version from an upstream proxy server.
It is clearly a problem that needs addressing though. In our web app we have added build steps that seek out all css/js/image links and append version numbers as a query string to defeat the cache.
This works quite well, but has the disadvantage of always clearing the cache for each new release, when in reality not all items need to be cleared.