`\@nameuse` ist im LaTeX-Kern definiert als:
\def\@nameuse#1{\csname #1\endcsname}
Das heißt, dass `\@nameuse{foo}` prinzipiell das gleiche wie `\csname foo\endcsname` ist. Natürlich hat das Ganze Auswirkungen bei der Expansion, weil `\@nameuse` nun einmal bereits eine Expansionsstufe benötigt, um überhaupt zu `\csname …\endcsname` zu kommen. Es hat auch Auswirkungen auf die Anzahl der zu verarbeitenden Token. Aber Speicher und Verarbeitungszeit spielen heutzutage wirklich keine Rolle mehr.
`\@namedef` ist im LaTeX-Kern als
\def\@namedef#1{\expandafter\def\csname #1\endcsname}
definiert. Das ist nun in der Tat nur eine Abkürzung, weil
\@namedef{foo}{bar}
schneller geschrieben ist als
\expandafter\def\csname foo\endcsname{bar}
uns und sich auch leichter liest. Man kann damit sogar Befehle mit Argument definieren:
\@namedef{foo}#1{bar: #1}%
Was dann
\expandafter\def\csname foo\endcsname#1{bar: #1}
entspricht. Diese Anweisung dürfte vermutlich auch der Hauptgrund für die Existenz von `\@nameuse` sein.