Route 53 is a DNS management service. You don't need to use it if you want to expose subdomains, such as www.example.com, however, it is indeed obligatory if you want to serve your website data under a naked domain, such as example.com, hosted on S3 or CloudFront. This is due to the RFC rule: you can't have a CNAME record for your domain root, it must be an A record.
What's the difference? CNAME and A records are both record types that help the DNS system to translate a domain name into an IP address. While CNAME references another domain, an A record references an IP address.
So, if you don't want to use Route 53, you can use your own domain management system, such as GoDaddy, to add a CNAME that will map your www.example.com domain to an S3 endpoint, for example, www.example.com.s3-website-us-east-1.amazonaws.com. This configuration works...