The primary reason I think, is for cookies.
Cookies will be sent along with every request, let's say if you have 2kb of cookie data and load 20 images on a page.
That's an extra 40kb of data, multiply that by the number of page-views you have in a month, and you might be surprised about how much bandwidth you have lost in something useless, and bandwidth is not free...
Also, cookies set on the top-level domain, are sent across all requests made to any subdomain, in those cases, is even recommended to buy a new domain to host the static components there, in a cookie-free domain.
For example, StackOverflow uses sstatic.netsstatic.net
, Yahoo uses yimg.comyimg.com
, YouTube uses ytimg.comytimg.com
, Amazon uses images-amazon.comimages-amazon.com
, etc...
Give a look to this: