Any time you absorb an argument using the standard approach, you are potentially losing information...for example, a leading space before the absorbed argument. Another example is if the argument absorbed is a single token, you won't know if it originally had braces on it or not. As a result of these uncertainties, I tend not to consider argument absorption as a "do nothing" command.
In the MWE below, the active-Q is set to the OP's definition of \nothing. It is employed twice in the 2nd line. In the first instance, one loses the space because of argument absorption. In the 2nd instance, one loses the braces around a.
\documentclass{article}
\usepackage[T1]{fontenc}
\newcommand\nothing[1]{#1}
\begin{document}
\catcode`\Q=\active
\letQ\nothing
a b\detokenize{{a}}
aQ b\detokenize\expandafter{Q{a}}
\end{document}

A better "do nothing" command would be
\newcommand\nothing{}
or, equivalently,
\let\nothing\empty
However, even that is not foolproof. Any new token introduced, even \empty, can interfere if it becomes the target of an expansion or absorption.
Here's such an example where the introduction of the simplified \nothing still changes the result (though, in this case, the \nothing improves the result):
\documentclass{article}
\usepackage[T1]{fontenc}
\let\nothing\empty
\begin{document}
\def\z|#1|{\detokenize\expandafter{#1}}
\z|{abc}|
\z|\nothing{abc}|
\end{document}

Note: this exact situation was a bug I just discovered yesterday in my tokcycle package when text is escaped from the cycle when placed between | delimiters. It lost the braces if the escaped text was a single brace group, in the manner shown in the first line above. My fix, which I am about to submit to CTAN, amounts to using the technique with \empty, shown on the second line, which will retain those braces.
\@firstofoneand\@idenbut of course with@in their name. No user macros AFAIK. – campa Aug 23 '21 at 09:07\relaxcan be a do-nothing command.\emptyexpands to nothing. Adapting to your syntax,\newcommand\nothing{}takes no argument. The command you present does something...it absorbs an argument and echoes it. – Steven B. Segletes Aug 23 '21 at 09:29\newcommand\donothing[1]{Donald Trump}? – Gaussler Aug 23 '21 at 12:29\donothingcommand just echos the following argument. Is that what you want? Then\relaxshould do the job. PS: it takes no arguments so it does nothing. Do you really want it to gobble the argument? – Herb Schulz Aug 23 '21 at 12:49\donothing-command does not nothing: It strips the outermost level of matching curly braces if present. Both\donothing aand\donothing {a}yielda, without surrounding curly braces. Your\donothing-command is the same as\@firstofoneand it could probably be called "just-spit-out--the-grabbed-argument"-command.\empty/\@emptycould be called the "grab-no-argument-and-expand-to-nothing"-command.\@gobblecould be called the "gobble-an-argument"-command.\relaxcould be called the "go-to-TeX's-stomach-but-trigger-no-action-there"-command. – Ulrich Diez Oct 07 '21 at 13:24