I broadly agree with what you’re saying. One correction, though: Hugo builds sites really quickly (in my experience less than a second for thousands of pages).
Also, you’d be crazy not to use a host like Netlify and github/bitbucket integration (another thing to learn, of course, but worth it if you’re building any software anyway.)
I’ve run a fairly large (~2000 pages, 3,000 visits a day) work site for just under 3 years using Jekyll. I’ve been thinking a lot about the pros and cons of this lately and, overall, would recommend it. The main advantages are speed and security. Running a secure, fast WordPress install is a PITA, especially if you’re a small team.
It’s also a lot easier to create custom themes and data in Jekyll.
Downsides are buildtimes (although YMMV: the same site takes ~6m to build on a 2014 Macbook Air, ~50s on a Mac Mini with Ubuntu installed on it, and ~3s with an –incremental build switch) and Jekyll’s obtuseness when it comes to things like generating a menu from a list of pages in a folder automatically. It’s just really dumb when it comes to basics like this.
Used Jekyll on my personal site for 6 years. Tried WP again for a week. It was horrible: Jekyll is so much cleaner, simpler and more transparent.
Still, you’re right, I think. Static site generators are best for… static sites. It’s legitimate to use APIs to access updated data, but only if you’re happy updating this data in the front end when you build the site. Once you try wrangling dynamic features out of a static site, it defeats the purpose. As I’d rather eat my hands than use something like React to build a website, I think I’d go for a simple dynamic site generator, possibly Kirby (which just uses text files — no database) for anything apart from a simple blog.