Wenn Du beispielsweise einen Tippfehler hast und die Definiion mit \begin/\end machst:
\documentclass{scrreprt}
% dummy-Definition
\newcommand{\myeins}[1]{}
\newenvironment{myenv}[1]
{%
\renewcommand{\myeins}[1]{eins-env: #1 eins-myeins: ##1}%
\begin{itemize}%
}
{\end{itemize}}
\begin{document}
\begin{myenv}{myenv-Parameter}
\item \myeins{myeins-Parameter}
\end{myenw}
\end{document}
dann erhältst Du den Fehler
! LaTeX Error: \begin{itemize} on input line 15 ended by \end{myenw}.
Dabei enthält Zeile 15 doch gar kein \begin{itemize}! Es macht vielleicht nichts in diesem Fall, da Du die Umgebung selbst definiert hast. Stell Dir aber vor, Paketautoren würden das auch machen...
Die Alternative
\documentclass{scrreprt}
% dummy-Definition
\newcommand{\myeins}[1]{}
\newenvironment{myenv}[1]
{%
\renewcommand{\myeins}[1]{eins-env: #1 eins-myeins: ##1}%
\itemize
}
{\enditemize}
\begin{document}
\begin{myenv}{myenv-Parameter}
\item \myeins{myeins-Parameter}
\end{myenw}
\end{document}
liefert die viel aussagekräftigere Fehlermeldung
! LaTeX Error: \begin{myenv} on input line 15 ended by \end{myenw}.
Zur anderen Frage: wenn man eine Umgebung
\newenvironment{myenv}
{start}
{ende}
definiert, dann definiert man im Grunde genommen zwei Befehle, in etwa
\def\myenv{start}
\def\endmyenv{ende}
Das ist zwar nicht alles, was bei der Definition passiert, fasst aber das wesentliche zusammen. Das bedeutet, man kann jede Umgebung (mit Ausnahmen) auch durch zwei Befehle \umgebung/\endumgebung verwenden. Im Dokument selber ist das eher zu vermeiden, in Definitionen neuer Umgebungen aber von Vorteil, unter anderem aus obigen Grund.
Grüße