Das kann man selbst programmieren, aber üblicherweise nimmt man fertige Bibliotheken bzw. jQuery-Plugins dafür. Z.B.
Ergänzend noch: Parallax ist inzwischen so dermaßen ausgelutscht, dass man es unbedingt richtig machen sollte, wenn man es macht. Der schlichte Weg mittels position/background-position bei Scroll-Event ist nicht performant genug, um nicht zu ruckeln. Deshalb sollte man es lieber ein Stückchen weiter treiben und die GPU einbeziehen.
Ein guter Artikel dazu: http://www.html5rocks.com/en/tutorials/speed/parallax/
Direktvergleich: Demo 1 (Position) vs. Demo 4 (WebGL).