Requirement engineering is the key phase in software development that determines what to build and outlines the quality of the final product. It involves discovering, modeling, documenting, and managing requirements through elicitation, analysis, specification, validation, and management processes. The goal is to develop a system requirements specification document that describes required system functionalities at varying levels of detail, from abstract statements to precise mathematical specifications.