A nice way to think about how they can be used (and the difference between parallel and sequential evaluation discussed towards the end of the article) is in handling promises:
The parallel or sequential composition of a list of promises returns a promise of a list.
The monadic composition resolves each promise sequentially (via the Haskell operator `sequence` or as a cascade of JavaScript `.then` calls).
The parallel applicative composition resolves all promises simultaneously.