For search I just generate a JSON file with all my posts and use Fuse.js to search against it locally in the browser.
It's familiarity more than anything. I've gotten around to starting a personal blog several times and abandoned each attempt because I found the blog generators like Hugo and Jekyll hard to customize. Just doing it as a static SvelteKit site eliminated all of the problems at the expensive of a few hours setting up the tech stack. This allowed me to focus on the HTML when I wanted to style the site, markdown when I wanted to write, and Svelte when I add interactive components.
Downsides of Hugo are the documentation isn't great and the go templating language is quirky. I suspect that poor documentation is a common issue for many static site generators.