Why does LaTeX make a distinction between commands and environments?
Or also: why do we need environments?
I ask this because I am defining a number of custom commands (like \question{} and \answer{}) and I am not entirely sure whether to use the \newcommand-way or the \newenvironment-way (both work). The difference seems to be in supporting Tables and Figures and other 'complicated' stuff in my custom command.
(If I compare to HTML/CSS, all things are tags (or CSS classes or IDs), and they can be specified (or default to) to be inline or not. But apart from that, there is not a real difference among them. It seems to be that the underlying model of HTML/CSS formatting is simpler and therefor easier to understand and use.)