Preface: what Im sharing below is very particular knowledge, and probably only makes sense if you build little websites for a living, but I just felt a need to record it.
When I first built this website it was static; just plain php files that scanned a folder of photos, and presented them with some nice CSS. But about 3 years ago I realised I wanted to make some other pages and change other things more quickly/easily, so I needed a Content Management System.
I've been making Craft websites professionally for over ten years so it was the go to - and for the most part things work great. However I have like 1,500 photos I want to make a simple gallery out of, and building a system that can load all of those quickly is difficult. It's an edge-case for sure, but a CMS that is based on a database is gonna struggle to load it quickly. Even with all the caching bells and whistles of craft, loading the photos page would take almost a second.
This motivated me to explore options for generating a static/HTML version of CMS content; I discovered the world of JAM stacks then immediately got The Ick. Its a feeling I get when I see a developer over engineer a solution, I've seen lots of colleagues fall down a rabit hole of compiling systems for things that have native solution
I tried out Kirby and Eleventy, and neither really had the sensible flexibilty I wanted. Kirby was a little bit rigid in how you organised your content, or eleventy required deployment flows that I honestly can't be arsed to do for a fun hobby.
I then found Statamic - and it's been great. It's a sweet spot between all the problems I mentioned above.
I now have a control panel where I can easily add photos or make posts.
It makes no assumptions about how my content is organsied.
Everything is resized and optimised and a static version of the pages are generated.
Also worth mentioning that their docs are amazing (plain language explanations of complicated things are so valuable).
My photos page now loads in 50ms (the images themselves are defered after page load). Once I figure out how to do some nice @view-transition it'll be sharp and make me happy.