Der Autor beschreibt den Grund und die Lösung bereits sehr gut in der Einleitung seines Artikels, daher erlaube ich mir zu zitieren:
The basic idea of a Web 2.0-style "mashup" is that you consume data from several services, often from different providers and combine them in interesting ways. This means you often need to do more than one HTTP request to a service or services. In PHP if you use something like file_get_contents() this means all the requests will be synchronous: a new one is fired only after the previous has completed. If you need to make three HTTP requests and each call takes a second, your app is delayed at least three seconds.
Quelle und weitere Infos:
http://www.phpied.com/simultaneuos-http-requests-in-php-with-curl/