Один конкретный пример, где я нашел это важным - функция, возвращающая рекурсивно определенный массив.
lucas :: (Integral a) => a -> Array a
lucas n = a where
a = array (0,n) ((0,2):(1,1):[(i,a!!(i-1) + a!!(i-2)) | i<-[1..n])])
Для чисел Лукаса от 1 до n (Фибоначчи было бы слишком очевидно = P)
Важным моментом является то, что без предложения where массив не будет иметь имени изнутри тела функции, и вы не сможете рекурсивно определить.