Depending on volume, it can be cheaper to host on a CDN network (bandwidth in data centers can be more expensive depending on your arrangements). There's much more redundancy with edge caching servers, which has the added benefit of faster load times. Some browsers limit the number of concurrent connections to a single domain, so having media on a separate domain can allow for more throughput when loading a given page. There's also the decreased load on your servers. It may be trivial for low traffic websites, but can become a concern at scale.