The reason is that the subdomain may be hosted on a server that has limitless space and bandwith, say for big file images or video. The main domain being on a another server say in a country adventageous for serving the actual audience. Think SEO etc. It sounds like a good scheme and I was about to ask a question on the best way to set up such an arrangement in terms of DNS etc.
One reason is it will speed up load times for the page for people with faster connections. A browser will only send out X amount of requests to a domain and won't make any others until those have been filled. Since a sub-domain is considered a separate domain it will download the HTML, css files, .js or whatever else you may have from the main domain while simultaneously downloading the images from the sub domain.