A cache is temporary storage for information that software expects to use again. In a browser, that can include copies of images and other parts of a webpage. Rather than downloading the same resources every time you return, the browser will reuse what it already stored, which makes repeat visits faster.
Apps use the same basic idea, although what they cache varies. A music streaming app might cache playlists you listen to frequently so they're ready to go immediately, while a social media app may cache thumbnails and profile pictures from pages you're visited recently. Holding this temporary information saves them from fetching or recreating it every time you open the app.
A large cache isn't automatically evidence that something is wrong. In many cases, that stored data is doing exactly what it was designed to do. There also isn't one universal cache shared across your device. A browser cache, an individual app's cache and system-level caches can serve different purposes and are cleared in different ways. Treating all of them as disposable clutter misses why they exist in the first place.