rmmfree is correct about there being the different places that things are cached. Like he said, they can be cached in your computer, with your ISP, or on the server.
In addition to this, inside of your browser there is different types of caching. For example, if you visit a site using local storage or a site using web cache through a manifest file, then you can empty your cache, hit refresh several times, and you still won't see updates done to the site. This is because the files are stored offline and you have to clear your cache for them separately.
So for example when I was doing a web app recently, while testing it in FireFox I had 4 items I had to clear each time I wanted to see updates:
1) Cookies
2) Web Cache
3) Offline Web Cache
4) Local Storage
One interesting note is in many "3rd world" countries the ISPs often will cache more than just DNS and then also they often will modify your page. Like in Egypt when I was there for 6 months I often had problems where sometimes the ISP (Etisalat and Vodafone) would modify the html/javascript code of the web page and/or insert their own code trying to optimize it. Also, images were nearly always sized down. I'm in the Philippines currently and here Globe is often caching DNS settings and they cache it wrong and serve me the wrong page. Like once I went to Google and it showed Disney plus many other instances of getting the wrong page (I never experienced either of these issues in USA).