Content Delivery Networks host copies of your content and serve it to your visitors from a server that's close to them. For example, if your images are served through a CDN, a visitor to your site transparently downloads the images from the CDN's server instead of yours.
The two biggest reasons for using a CDN are reducing traffic/bandwidth on your server, and increasing delivery speed. A CDN acts as a cache: it downloads your content from your server once, and then delivers it to all visitors from its own servers instead of yours. A CDN will also have a large number of servers located around the globe, so they will be able to serve content to most visitors from a closer location than you could, and thus get it there faster.
The two biggest CDNs I'm aware of are Akamai and Limelight.