There are tons of static site generators[0], and it’s fairly trivial to have a complex web app not require a hosted server since you can use local storage, web workers, Firebase, etc.
When I update my blog (statically-generated), I add an .md file containing the blog post, commit it to git, and push it to a git repo. A quick CI/CD build fires off which generates the HTML (~1 bash command in a docker container) and pushes the static files to a file server. Easy!
I remember starting an Android course ~9 years ago and then giving up within the first hour because I could not configure the Eclipse environment properly. I think the same would have been true of web dev if I had to set up a Docker container just to get to "Hello World".
HTML has that "just works" quality that kept me interested in learning.
Not running a backend can be limiting and force external services for simple tasks.
I just open my FTP, drop a markdown file, and that's it. No repos, no CI/CD, no nothing.
I have a Digital Ocean droplet with PHP installed, so I can drag and drop a simple folder-based website and only update the PHP include files if there's a change that needs to be displayed sitewide.
SSGs seem overly complicated to me considering that most web hosts already come with PHP installed, and the main benefit of such sites (dynamic menus) can be handled by a couple of lines of code.