An article on ETags by Yahoo developers at https://developer.yahoo.com/blogs/ydn/high-performance-sites-rule-13-configure-etags-7211.html, states that:
"Entity tags (ETags) are a mechanism that web servers and browsers use to determine whether the component in the browser's cache matches the one on the origin server. (An "entity" is another word a "component": images, scripts, style sheets, etc.) ETags were added to provide a mechanism for validating entities that is more flexible than the last-modified date. An ETag is a string that uniquely identifies a specific version of a component. The only format constraints are that the string be quoted. The origin server specifies the component's ETag using the ETag response header."
ETags are very handy in conjunction with caching. It compares the item in cache and then redownloads it if it has changed. It also prevents the content from getting stuck in the cache when it needs to change.