Many online services configure their networks to use CDNs (content delivery networks) to improve performance by allowing content to be served from geographically close locations. I have noticed that very often the CDN is served from a different domain name than the actual service.
For example, a visit to www.amazon.com will involve pulling content from media-amazon.com.
www.facebook.com gets content from fbcdn.com, and so forth.
My question is, why don't these services use subdomains instead of completely different domain names for their CDNs?
E.g. why not use cdn.facebook.com instead of fbcdn.com? I rarely see that being done. Almost always it's a different domain name, often it's the base domain with something added to it, or an abbreviation.
The only thing I can think of is that having a different domain name allows using different DNS providers to spread the DNS load, but that isn't always the case.
Is there a specific technical reason for this practice? If so what is it?
Clarification: I'm not concerned with the cost of domain name registration. I assume any company that makes extensive use of CDNs can afford a few extra domain names. My question is why using subdomains would be inferior to using separate domains from a technical perspective. The fact that the practice is so widespread suggests there are good reasons for it.