I understand how a language can bootstrap itself, but I haven't been able to find much reference on why you should consider bootstrapping.
The intuitive answer is that the language you're writing offers utilities that are not found in the "base" language of the compiler, and the language's features are relatively well-suited for a compiler.
For instance, it would make sense to bootstrap a C++ compiler -- it could potentially be much easier to maintain the compiler when OOP is properly used, as opposed to using plain C.
On the other hand, MATLAB certainly makes matrix math a lot easier than plain C, but I can't see any apparent benefits from writing a MATLAB compiler/interpreter in MATLAB -- it seems like it would become less maintainable. A similar view could be applied to the R programming language. Or a pretty extreme example would be bootstrapping Whitespace, which is written in Haskell -- definitely a massive superset of Whitespace.
Is the only reason for bootstrapping to take advantage of the new language's features? I know there's also the "because we can" reason, but that's not what I'm looking for :)
There's a principle called "eating your own dogfood". By using a tool, you demonstrate the usefulness of the tool.
It is often asked, "if the compiler for language X isn't written in language X, why should I risk using it?"
This of course only applies to languages suitable for the domain of compiler writing.