Caching is a technique that makes you save response time and (the most important) money. Even if money is not a problem for you (because you can pay for more servers/instances), a huge traffic is something hard to deal with.
This technique allows you to avoid bottlenecks, those piece of code that takes more time to process such as database queries with multiple joins.
In a nutshell, a cache it’s a small data source that contains the most frequent output of a particular piece of code or the entire application. You could have cache at DB level, at small piece of code level or endpoint level. This way some someone requests some data with some parameters your application will return the cache version of that data if it is available and if was not expired.