foo( bar() + baz() )
って時に、普通の言語ならbar()+baz()をそれぞれ呼んで計算してから
その結果をfoo()に渡すのに対して、遅延評価のある言語だと
いきなりfoo()に「bar()+baz()」っていう「式」を渡す
んで、bar()+baz()の値が実際に必要になるまでは式のままで評価されない

あと、無限リストなんかも扱えたりする
(1〜∞)の中から、条件に合致する値を抽出し、さらのその2番目から10番目を抽出する
なんて処理がマジで言葉通りに書ける