The CDNs save latency for fetching content
Yes, CDNs are meant to maximize throughput and minimize latency. They also help load-balancing.
CDNs are a system of servers that deliver web content based on geographical location. Having many servers distributed in different locations helps maximize bandwidth. Then when a request is made, the server that is closest to the user responds with the content, which can minimize latency especially when there are bursts of high traffic. This makes CDNs especially useful for requests such as streaming videos.
Another key benefit of CDNs is their ability to "solve" problem of physical limitations of latency due to geographical distance. They fall on a continuum of distance-to-clients-served. Local Caches -> cloudlets/LAN caching -> CDNs -> Server-side caching -> Server Job. Does anybody know of more intermediate steps with caching in Client-server systems?
Not an exact answer, but networks like p2p networks are "caches" with some geographic locality. I would put it where CDNs are in your continuum.
In general, you could read more about overlay networks: https://en.wikipedia.org/wiki/Overlay_network
How many levels of CDN can we realistically have without having noticeable sync delays?