S3 may indeed serve it using Static Website Hosting (and you need to enable it anyway to use CloudFront with it).
Still, S3 is quite slow, and not globally distributed. It's indeed good advice and practice to use CloudFront in front of it.
CloudFront for a static website not very expensive either.
-----
I run my company's website runs off of S3 + CloudFront, and S3 alone is slow.
Load time is usually 2x to 3x when accessed via the S3 origin
http://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHostin...
There have been reports about S3 returning 50x errors, when (as documented) the client should retry. A browser is not an S3 client, so it won't retry ... https://news.ycombinator.com/item?id=4976893 https://news.ycombinator.com/item?id=4977360 https://news.ycombinator.com/item?id=4981482 https://news.ycombinator.com/item?id=2897959