If you want to cache the output of a render array differently depending on if the site is visited by a known crawler or not, this is the module you need.

Use cases

Say you want Google to index all pages of a search result, even if you want the average user to get an infinite scroll. You can then want to display a "next page" link to google only. Or maybe to crawlers only: