Cloudfront is a CDN (meaning serving content from multiple locations around the world to have static content such as images and stylesheets closer to the end user). S3 is actual file storage.
Regarding Cloudfront, if you're using IPS hosting... it's already using Cloudfront. If you are self-hosted, it's more involved. You need to setup an S3 bucket to store those static files, and get it configured... then configure Cloudfront to use that S3 bucket as the origin.
Even once you have CF setup, you need to evaluate your caching settings to figure out what should be cached and for how long, especially if you're going to use the CDN to serve theme files which get regenerated frequently. (You don't want Cloudfront serving an old version of the JS files for example from cache when your board is expecting a different/changed version.)