All S3 usage I have encountered in the wild has been user submitted files. Stuff like profile pics, document attachments, etc. You could in theory store these on the VMs storage but that encounters the frequent problem that the storage fills up. While S3 is unlimited and easy to integrate.
I've used it to store large datasets that are processed within a region, a backup system, logs and metrics, and as an origin for CloudFront. I think you're referring to using to host a consumer download service because of web objects in a serious business you'll need a CDN.