まあそうだな。
Haskell に限らず、大抵の言語は処理の単位をどう抽象化するかに注意を払って設計している。
例えば C なんかで極論すればループ構文は goto と if の組み合わせの構文糖衣だと言えるけど、
「分岐とジャンプ」で考えるのと「ループ」という概念で考えるのとではまるきり違うってのはわかると思う。

モナドも何だかんだの処理を纏めたもの、関数の束でしかなくて無くて、モナドが無ければ無いなりに使えるとは思うよ。
でも、「モナドという考え方」を導入したことでわかりやすくなる部分がある。
利点を短くまとめるのは難しいな。
強いてまとめるなら Haskell ではモナドを使うと簡潔に書けるケースが実際に多いってことだな。