Whenever you type a URL on the address bar it fetches the corresponding IP address to communicate with web server. When you repeatedly use a same URL its just a waste of network resource to fetch corresponding IP adress everytime because IP's dont change too often. So your computer stores the combinations of domain name and its IP in local cache to avoid fetching from Domain name Server(DNS) everytime you use same domain name(URL). It also holds another crucial info called "Timeout" which says about the valid time for the IP and domain name combination, when this time times out your computer re-fetches the combination from DNS and stores in local cache again. Dns flushing is the mechanism where the user can manually make all the entries in the cache invalid, so your computer re-fetches new combinations by now on whenever it needs and stores in local cache.