When I compare the binary operations of the Applicative and Monad type class
(<*>) :: Applicative f => f (a -> b) -> f a -> f b
(=<<) :: Monad m       => (a -> m b) -> m a -> m b
two differences become apparent:
apexpects a normal, pure function, whereasbindexpects a monadic action, which must return a monad of the same type- with 
apthe sequence of actions is determined by the applicative, whereas withbindthe monadic action can determine the control flow 
So monads give me additional expressive power. However, since they no longer accept normal, pure functions, this expressiveness seems to come at the expense of code reuse.
My conclusion might be somewhat naive or even false, since I have merely little experience with Haskell and monadic computations. Any light in the dark is appreciated!