Historically the parser was expensive to create and accessed via a global, $wgParser. Because $wgParser was created during initialization on every request, regardless of whether parsing was needed, the constructor was made as lightweight as possible and "actual" initialization was moved to a variety of helper methods.
Modern MediaWiki uses a factory instead. We should fix the old patterns of use and (a) completely initialize the class in the constructor, and (b) ensure that everyone who uses the parser creates the object via the factory. (b) will allow us to eventually change the default parser.
Also, we should probably discourage the patterns of "resetting" an existing parser object or "cloning" it, instead just creating a new fresh parser object from the factory.