クエリ実行(SQLが実際に発行される)が遅延されるのは、処理が重いからではなく、
    DetachedCriteriaを共通化して使用したいからだと思います。

lazy = のろまという意味で理解してこんな訳にしてました。
というか、全体的にこの説の部分は上記のyamkazuさんの説明の方がわかりやすいような・・・。

    クエリーの実行は重い処理であるため、DetachedCriteriaインスタンスの使用時に一度だけ実行されます。
    → 実際のクエリーはDetachedCriteriaインスタンスのメソッド使用時に遅れて実行されます。

こんな感じでいかがでしょうか。