Nothing particularly novel but the setup of configuring CloudFront to connect to S3 and handle SSL termination, a DNS record pointing to CloudFront, an S3 bucket to hold the contents, an S3 bucket security policy which restricts access just to CloudFront... well, it's complex and easy to misconfigure.
In terms of pricing, you can store 1GB in S3 for a year for a fraction of a dollar. The majority of the cost comes from CloudFront. Unless you have serious traffic, this is extremely cheap:
Cloudflare Pages looks like a more productionised version of this, yes.
In terms of advantages, I'd say price, and the maturity of using AWS. I deploy a static site with a GitHub Action (look at my other repo whisky-menu for how to do this) which builds a React app, copies it to S3, and invalidates the CloudFront cache.
You're correct, yes, I didn't realise how generous the free tier is. If you're doing fewer than 500 updates per month, Cloudflare looks good https://pages.cloudflare.com/
Because I have other resources and projects in AWS I'll keep this setup. It's so close to free that cost doesn't bother me.
Familiarity with S3, Route53, and CloudFront was a draw for me personally.
AWS is all about abstractions. Some of them are worth learning but increasingly there's a wall of options in AWS and, for me, it's not worth spending time staying on top of all of them. The few services needed for this setup are some of the most popular and will be there in the future.