for Amazon S3 i setup the s3, cloudfront & cert manually (should put it in terraform, but it takes just a second). here's a nice article to walk you through that (says it's for hugo, but you could use it for any ssg): https://agop.me/post/https-enabled-portfolio-hugo-s3-cloudfr...
The point is not that one can/can't do it elsewhere, but Netlify makes it easy. You are less likely to run into that one frustrating problem that takes you hours to solve (like writing a build and deploy tool in bash) - Netlify does it for you.
I've done a static site from Terraform, and I've done it more recently in Netlify - Terraform was exponentially harder, end to end.
the whole point is that I don't want to futz around and use terraform, or read a tutorial, or build a bash tool or whatever.
It's literally like 3 clicks in Netlify and it'll handle _everything_ for me. I point my DNS to Netlify and then I've got HTTPS for free as well.
I used to deploy to S3 as well, and I had a small little `yarn deploy` script that did the webpack build and upload to S3 - its not that hard https://github.com/joshhunt/destinySets/blob/ae08807e3d23de9.... But Netlify is so much easier, especially when working from multiple machines.
then i build and deploy with a bash tool i made called NanoCD: https://github.com/tkjef/NanoCD
has lots of helpful options. easy to wrap your head around. easy to add whatever workflows,tests you'd like.