Dadurch, dass `\input` bei LaTeX nicht mehr das Primitiv von TeX ist, hast Du zum einen ein Leerzeichen am Ende der eingelesenen Datei, dann eine schließende Argumentklammer und dann wieder ein Leerzeichen durch das Zeilenende nach `\input{…}`. Das führt dazu, dass das zweite Leerzeichen signifikant wird. Vergleichbar ist es mit:
\documentclass{article}
\newcommand*{\setze}[1]{#1}
\begin{document}
\centering
Test
\setze{Test}
\setze{Test }
\setze{Test }%
\setze{Test}%
\end{document}
Dabei entspricht `\setze{Test}` dem Fall, dass Du am Ende der eingeladenen Datei ein Prozent hast, `\setze{Test }` dem Fall, dass Du das nicht hast und das Prozent nach `\setze{…}` ggf. dem Prozent nach `\input{…}`.
Noch interessanter wird das, wenn man es im horizontalen Modus verwendet. Für den Fall sollte man den Artikel über `\@bsphack` und `\@esphack` lesen, der in der aktuellen DTK zu finden ist.
Verwendet man `\input` in der TeX-Syntax in LaTeX, dann entfällt das Problem ebenfalls:
\begin{filecontents*}{test1.tex}
Test
\end{filecontents*}
\documentclass{scrartcl}
\begin{document}
\centering
Test
\input test1.tex
Test
\end{document}
Wirklich empfehlen würde ich das aber nicht. Genauso wenig würde ich nicht empfehlen, das TeX-Primitiv zu verwenden:
\begin{filecontents*}{test1.tex}
Test
\end{filecontents*}
\documentclass{scrartcl}
\begin{document}
\centering
Test
\csname @@input\endcsname test1.tex
Test
\end{document}
Obwohl natürlich auch dabei das Problem nicht auftritt. In beiden Fällen vernichtet TeX das semantische Leerzeichen aus dem Zeilenende quasi als Ende des Dateinamens.
Ein entscheidender Unterschied zwischen dem TeX-Primitiv `\input` und dem LaTeX-Befehl `\input` ist also die Verarbeitung des Arguments und daraus resultierend die Behandlung von Leerzeichen danach.