No cache - The page will be regenerated (dynamically created) each time it is displayed. This will put maximum load on your website, web server and database.
Full-page caching - Page caching is an approach to caching where the entire structure of a page is stored as a HTML file that the web server can serve without intensively and repeatedly using server resources (such as database). This can be as much as 100 times faster than going through the process of dynamically generating the content. Unfortunately, this incredible speed-up is only available to scenarios where all visitors are treated the same. This means your pages will not have personalized content (like “Hi Jon, thanks for visiting our site”), or allow your visitors to personalize their experience with your website. However, this option is particularly suitable when you expect to return the same information in the same format for many different requests.
Partial Page Caching - Partial Page caching allows you to take advantage of page caching yet leave certain elements of personalization or dynamic data display. Using this will leave “holes” in page snapshots where dynamic data will be delivered to browser.
Fragment (Query) Caching - This cache type can be considered inverted Partial Page Caching. This will cache only some regions of a page, or technically speaking – cache db queries, such as “Most popular”, “Related Articles” or similar. You can have full control over what to cache and what not to, or use default settings. Useful if you do not want to cache an entire page and speed up the website without losing personalization. This option is a trade-off for sites looking to increase performance, but keep personalized content and real-time analysis (like number of times each article is read, etc.).