As a general rule, it is wrong to use \env and \endenv in the document body, because \begin{env} and \end{env} do much more than just executing the inner commands.
Just to make a simple example, the following document
\documentclass{article}
\usepackage{lipsum}
\begin{document}
\lipsum[2]
\quote
\lipsum[3]
\endquote
\lipsum[4]
\end{document}
produces

which is clearly not the expected result. Similarly,
\documentclass{article}
\usepackage{lipsum}
\begin{document}
\lipsum[2]
\center
Centered text
\endcenter
\lipsum[3]
\end{document}
produces the following unwanted output:

The inner commands are sometimes used in the definition of another environment, say
\newenvironment{myenum}
{\enumerate\setlength{\itemsep}{20pt}}
{\endenumerate}
because this gives better error confinement when myenum is not properly closed.
This is generally optional, but it becomes mandatory for some special environments like tabularx or align, because these environments absorb their contents before acting. So if you want to define a fixed tabularx specimen, you should do something like
\newenvironment{sptabx}
{\par\nopagebreak\medskip\noindent\tabularx{\textwidth}{lX}}
{\endtabularx\par\medskip}
so \begin{sptabx}, using special code in the definition of \tabularx, “knows” that it should look for \end{sptabx} as the terminator and absorb everything in between in order to pass it to for typesetting to \endtabularx.
Note that calling \sptabx...\endsptabx would not find \end{sptabx}, so there would be a mysterious error somewhere much later. The same is of course true for \tabularx.
A particular environment must never be called with the inner commands: it is lrbox that should always be used as
\begin{lrbox}{<box bin>}
...
\end{lrbox}
also when used in the definition of an environment.
egregpointed out, no reason for it to work. – Runar Dec 29 '15 at 20:05