Gatsby is a framework in express to build websites with any CMS, API, or database. It is similar to jekyll or hugo, but more open, in which it can be used with multiples inputs, not only markdown files. It has a hugo community with tons of plugins. It is served as a npm package in node, and they offer a cloud hosting but it is not necessary.
I started with gastby because I knew it has a huge community and also because of this article about Rendering on the Web.
Gatsby can be used with a CMS, but it is better to explain this part. There are some use cases in which you prefer to use workpress for the content creation, user management, etc. but you would like a faster website, not only for the user also for the development. Gatsby is easier to understand and there are plugins that connect the api of the CMS with gatsby.