What do you like best?
The further your customers are from your data the longer the data takes to arrive, making your site appear to be slow. In the current world, customers are spread all over the place, which means that you need to distribute your data to multiple geographic locations in order to give everyone the same speed of access. This is a very costly thing to accomplish when dealing with the physical world, and is still a pain to configure when trying to integrate a random content delivery network with your network. Since CloudFront is an AWS service, it just works with S3 and EC2 perfectly. Along with providing a geographic caching service, CloudFront also lifts even more resources from your EC2 server, allowing you to save more money on processor and memory requirements.
What do you dislike?
It does take a bit of research to get set-up properly, and even I had to make a few attempts at configuring the service before I had it operational. You will need to set-up S3, CloudFront, Distributions,and a few other things until the service works as imagined, but once it does, it is beyond expectations. I would say this is the hardest AWS service to configure, at least for me it was.
Recommendations to others considering the product
DO a lot of research before hand, and utilize the Activate services provided by the AWS Loft if you are able to, especially one-on-One support with a Solution Architect and training on CloudFront.
What business problems are you solving with the product? What benefits have you realized?
Saving costs on needing geographically diverse locations, servers, storage, and etc, while providing and increase in speed and responsiveness to all of my customers, regardless of location, while reducing my EC2 costs by offloading more services that would be using resources.