I’ve recently come to appreciate monads as 2-arrows from the terminal object in a 2-category; quoting nLab:
… a monad in [a category] K is a lax 2-functor from the terminal bicategory 1 to K: the unique object * of 1 is sent to the object a, the morphism 1 becomes [the endomorphism] t, and [the unit] η and [the join] μ arise from the coherent 2-cells expressing lax functoriality.
This is a nifty demystification of the data of a monad. Why do endofunctors tend to carry monads? Because endofunctors on categories C tend to be expressible as endomorphisms in 2-categories where C is an object! Since this latter condition is typically trivial, it follows that endofunctors on C typically carry monads (and that any counterexamples depend on the structure of C and choice of 2-category.)
I’ve recently come to appreciate monads as 2-arrows from the terminal object in a 2-category; quoting nLab:
This is a nifty demystification of the data of a monad. Why do endofunctors tend to carry monads? Because endofunctors on categories
C
tend to be expressible as endomorphisms in 2-categories whereC
is an object! Since this latter condition is typically trivial, it follows that endofunctors onC
typically carry monads (and that any counterexamples depend on the structure ofC
and choice of 2-category.)