Although I don't agree that
"lazy => sequential", what he/she probably means is that Haskell's lazy execution model sets constraints on program execution, in analogy to an imperative language, which also sets contraints on execution order.
Advantages of an unspecified execution order: more compiler optimizations allowed/possible.
Disadvantages: even harder to reason about. In fact, some functions may or may not terminate, depending on the whims of the compiler.