Magento is a very large application and performs many actions when a customer visits the store. For example, it needs to present the correct layout, search and display the right product images, calculate prices and VAT, check if price rules are applicable, taking care of customer data etc. etc. Every action needs time. And however we are talking about fractions of seconds for one action, all together it could take some time. And customers don't want (and have) to wait longer than a few seconds.
To minimize the waiting time for customers and optimize the work flow for Magento, it can do quite a few of these actions in advance. So already before the customer visits the shop, some of the work is already done. That's why caching and indexing were discovered for this purpose.
Caching involves blocks and files which are needed for the visual aspect. Think images, style sheets (lists with style commands for the browser), text blocks etc.
Indexing involves data and calculations, like product attributes, product prices, vat calculations, category data, search terms etc.
So if a customer arrives at the website and makes an order, Magento doesn't have to search for the correct images, translations, nor does it need to lookup the product prices or current categories. They are all in 'bite-sized chunks' available in the caches and indexes.
This saves an awful lot of time, but also has a consequence.
Since customers are delivered 'pre-fab' data and layout, customers won't see always directly the data or settings that you just changed in the Magento admin. The caches and indexes after all are containing 'chunks' which were pre-made from the old data, before you made your changes.
So after you have done your changes in the Magento admin, it is a good idea to update the data in the caches and indexes, in order to build new 'pre-fab chunks'.
These processes are called “Cache flushing” and “Re-indexing”
Flushing the cache:
Go to Admin menu > System > Cache Management
Magento has several caches, and the data in it is often build op in steps, from one cache into the other. Therefore it is utmost important to use the correct sequence when flushing the caches.
In case of a total cache flush (most common):
Flush the Magento Cache (Button top right, “Flush Magento Cache”)
Flush the Opcode cache (Button bottom left, “Flush Opcode Cache”)
Flush the Cloudsgento cache (Button bottom left, “Flush Cloudsgento Cache”)
The flushing will take from 20 seconds, up to a few minutes or so, depending on what was in it. Only flush the caches when really necessary, because this causes a temporary performance drop for visitors during, and right after the flushing.