The cache is one of the reasons: if I use the same jquery file as e.g. google.com does, most of the users visiting my side will not have to load it. Which decreases the loading time of my webpage.
Another reason is the global distribution of the CDN-server. If I want an image here in Germany it would take a longer time to load it from an US server than from a server here in Germany (because of latency).