Caching is the most cost-effective optimisation after images.
The principle
Without a cache, WordPress rebuilds every page on every visit (database queries, calculations and so on). With a cache, a pre-generated version of the page is served instantly.
In practice
You install a caching plugin (WP Super Cache, W3 Total Cache, WP Rocket and others). A handful of settings is often enough for a spectacular gain.
Key takeaway: a cache serves a ready-made page instead of rebuilding it — the most effective shortcut there is.