Monad is a type class in Haskell that abstracts types with common behavior. It defines types that have "things to do" each time a function returns a value. Specifically, Monad defines return and (>>=) methods. The (>>=) method abstracts the unique computation needed to pass the value returned by one function into the next function. This interpretation of Monad as representing "things to do" each time makes the concept easier for programmers to understand compared to more abstract explanations.