That depends on the requirements, that being said I'll typically go for:
Why (A)?
Because Gridsome is awesome and uses VueJS which is great to get stuff done and it has data sources and plugins for several CMSs. It also uses NodeJS.
Why (B)?
Because the HTML code will have repeated sections (so not DRY) which Pug handles pretty well. And it also allows me to use pass data from NodeJS to the views without hassle.
Why (C)?
Because sometimes, the vanilla framework-less approach is sufficient.
Why (D)?
Because, I may need or want to use a React UI in which case, Gatsby (which I don't know yet) would be the framework I'll use.
Why Netlify/GitHub Pages for hosting?
Because they are easy to use and suitable for static websites including SPAs/MPAs.
Why did I choose the tools mentioned above?
Because that's what I use for most of my NodeJS projects as it ensures a consistent code style with as few vulnerabilities and bugs as possible.
Of course, there are a plethora of options like Zeit/Now.sh/Surge.sh/AWS/Firebase/Azure for hosting and VuePress/Nuxt (Generate) for the UI. All of which are suitable for static websites (although some are preferable if you go serverless) and there are obviously other options that aren't suitable for static websites but there's that.