What we know of today as "The World Wide Web" did not come about as fully formed idea. It was one of many attempts to realize the potential of a globally-connected network of computers, and built on the advancements of many other pieces of computer history. Many people in many places working on solving completely different problems all came together to form the web as we know it today.
HTTP/2 is a big step forward for how the web works. The vast majority of its features require no additional effort from web developers, and are entirely invisible to end-users (other than faster loading times). Multiplexing and header compression give significant benefits automatically. One of the features that got a lot of hype when HTTP/2 was new was server-push, yet very few sites really take advantage of it. There are likely a number of reasons for this, which Jake Archibald does a great job of outlining, but done correctly it can be a major performance boost.
So you've got a static site. You've implemented all the stuff in HTTP Caching Strategies for Static Sites, but your site still feels sluggish. Maybe you're running the site off a solar-powered single-board computer (you wouldn't be the first one). Or maybe you're hosting it from somewhere with super-slow internet. Whatever the case - it's just not fast enough. You need an edge-cache.
There’s an old Phil Karlton quote that goes something like “There are only two hard things in Computer Science: cache invalidation and naming things.” This article touches on the easier of the two (cache invalidation), or rather, strategies to avoid having to deal with it at all. A good cache strategy is one of the most effective ways to speed up a website.