You would implement caching to improve performance of an application. Response times for an application can affect user satisfaction which in turn can directly affect revenue and retention. As a result, creating a system that is optimized for fast responses times and low latency is critical.
TTL based caches are used to store static content where it is known ahead of time how long the item is desired to be cached for. In contrast, event based caches are driven by actions generated by users or by the system itself. Because the application is made to be aware of the change, it can appropriately respond to the trigger event, by purging and refreshing the data. This type of cache is ideal when data is static for an unknown period of time but may or may not change in an indeterminate time in the future.