What is the primary reason to
\protect new definitions or macros, or use
\DeclareRobustCommand rather than just
(If it is primarily to do with better error messages, I personally can live with the Prolog ``No''. If it's better to start using it everywhere, which are the packages to load and best practices?)
WANTED: A one sentence answer I can give other people about why
\DeclareRobustCommand is used somewhere but elsewhere there is
MOTIVATION: Sometimes you base code on an existing macro and put in an article.
\DeclareRobustCommand is sometimes used. Then a coauthor or an editor replies: Why do you need this complicated looking code? What do you tell them?