LaTeX has so many similar yet different ways of creating new macros/commands/functions and it is quite confusing. How do `\DeclareMathOperator` and `\operatorname` differ from other common definition commands?