Whenever I login to stackoverflow or some sites I see lots of requests for sites like
http://cdn.sstatic.net/. Why is this done rather than serving directly from the actual site? How does it help to speed up a website?
When the browser makes a request for a static image and sends cookies together with the request, the server doesn't have any use for those cookies. So they only create network traffic for no good reason. You should make sure static components are requested with cookie-free requests. Create a subdomain and host all your static components there. If your domain is www.example.org you can host your static components on static.example.org. However, if you've already set cookies on the top-level domain example.org as opposed to www.example.org then all the requests to static.example.org will include those cookies. In this case, you can buy a whole new domain, host your static components there, and keep this domain cookie-free. Yahoo! uses yimg.com, YouTube uses ytimg.com, Amazon uses images-amazon.com and so on.
Another benefit of hosting static components on a cookie-free domain is that some proxies might refuse to cache the components that are requested with cookies. On a related note, if you wonder if you should use example.org or www.example.org for your home page, consider the cookie impact. Omitting www leaves you no choice but to write cookies to *.example.org, so for performance reasons it's best to use the www subdomain and write the cookies to that subdomain.
When this was added to Stack Overflow in August 2009 Jeff, as you would expect, wrote all about it on the SO blog. If you keep reading there's some more discussion about it later as well.
Essentially, it's all about reducing cookie traffic.
Cookies are sent with every request to domains that have cookies stored. By setting up a domain with no cookies, the size of the requests is decreased and the speed of requests is increased, this is useful for static content.