CloudFront should have pretty good performance. Despite the comments, CDNs are intended to increase speed, not just scalability. Otherwise, CDNs would be no different from a cloud storage platform like S3 that employs load-balancing.
Amazon specifically developed CloudFront for low latency and high transfer speeds—just as with pretty much all other content delivery networks. That's why it employs a range of edge locations across the globe. It's also why Amazon is surveying users for suggestions on new edge locations.
There could be a few different factors here, including:
- CloudFront's closest edge servers are farther away from your particular location than your web host.
- The additional DNS lookup is increasing TTFB. If you're using a custom origin server instead of S3, this could cause further delays on cache misses as the edge server has to do a DNS lookup of your origin server.
- Cache misses: if your file isn't found on the edge node, then it has to be pulled from the origin server. The longer your TTL and the more popular your site is, the less this effect will be felt by your users.
- The Edge node used is currently experiencing high loads.
Of course, there's no way to tell in your case since we don't know what the actual test results/conditions were. I do know that, even though CloudFront doesn't deliver as good of performance as the more expensive CDNs, most tests show very favorable results.
You need to actually look at the Pingdom results and see where the extra time is coming from. Is it from DNS lookup? Is it longer transfer times? Is it due to longer wait times? Is there maybe an extra redirect being performed on one test? Is there host sharding in one test? Is it a single blocking JS file that's causing the delay?
Links to the actual accurate tests would help in diagnosing the issue. Also keep in mind that CDN performance isn't measured based on a single page load or a single location. Perhaps the CDN will slow down performance for a particular location or when there are cache misses, but if it speeds up 99% of the other page loads, then it's still a net gain in performance.