For years, I have relied on markdown and JSON files to generate my static website. Today I am making a shift to DatoCMS as a headless backend for all my web entries.
The main reason is the ability to curate content without building/generating the site again. Having the option to write anywhere on any device at any time without having to build the content to see the entry is something I value and missed.
The preview feature from NextJS combined with a headless CMS llike DatoCMS makes this possible.
Contenful being the grandfather of Headless CMS I previously used in a large customer project. But Contentful's editor is unfortunately still not mobile responsive, something I find extremely annoying. Honestly, I am surprised and disappointed that Contentful still haven't prioritized it. Considering that they are also the most expensive Headless CMS among its competitors Sanity and DatoCMS whom have all had this feature from day one makes me think that Contentful isn't going to prioritize the editorial experience any further.
Sanity on the other hand has clearly thought mobile responsiveness into their application from the very start and every aspect is mobile first.. Their generous free tier is also very appealing. DatoCMS includes some 300 entries in their free tier which is a bit limited.
DatoCMS however has a nice and flexible editorial interface. The ability to make custom "blocks" and render them as your own custom component working incredibly well!
Strapi I was also reviewing and I would very split between DatoCMS and Strapi. I like the fact that I have full control over my CMS and the fact that it is open source. I have been trying out Strapi years ago and I am impressed to see how far they have come. The thing that ultimately convinced me to go with DatoCMS over Strapi is the CDN that DatoCMS ships with and DatoCMS's incredible media manager, which leverages imgIX behind the scene. It allows me to make GraphQL queries with imgIX params that return images cropped to my exact specification.
If I were to sideways with DatoCMS I would go with Strapi and utilize the NextJS Image feature.