Caching is the process of storing data or information in a static or preformatted form. This aids in delivering any content quickly to the requestor. Normally it involves a Middleware to manage a copy of dynamic content into static content to serve the user faster. Doing this also reduces the need of server resources and keeping the system running optimally. This works especially well with website that has high traffic patterns. Imagine 10 users requesting the same data within 1 minute. That already is quite a work load for the web server and database process. If we scale up to 100 request per minute, that can bring the server down to a crawl of resources are not enough. So caching commonly accessed data will definitely reduce the load to the server and at the same time delivering better use experience.
Caching is definitely a great choice to go with for serving data that will be faster and less taxing on your server resources. But Caching can also pose it's own problem. Going the route of using a static site, we won't need to use any cache for WordPress. One of the big reasons for not using cache is that cache sometimes gets in the way of reviewing new changes because it's cache old files rather than serving the new files. You can see the obvious problem that it causes by serving old files rather than new. This can cause a lot of frustration when developing a website.Since we are not building a transactional E-Commerce site, which WordPress is the worst choice for, we don't need to have the dynamic feature of the site. For an E-Commerce solution other true ecommerce platform like Magento and others would be more appropriate for that purpose. However, WordPress is great for presenting a digital catalog but it is not to be mistaken for ecommerce.