I agree 100%. But see: https://wiki.haskell.org/Do_notation_considered_harmful
Also GHC now has features to revert all the bad structure problems cited there.
There is no wildcard advice of "use do notation" or "avoid do notation" possible. It's an incredibly handy tool, but you need to decide for yourself if it improves your code or not.