Software development, like any composite development activity, is a process full of risks.
The risks are both technical and programmatic; that is, risks that the software or website will not perform as intended or will be too difficult to operate/browse, adjust, or preserve are technical risks, whereas risks that the project will overrun cost or schedule are programmatic risks.
The goal of QA is to reduce these risks. For example, coding standards are established to ensure the delivery of quality code.
If no standards are set, there exists a risk that the code will not meet the usability requirements, and that the code will need to be reworked.
If standards are set but there is no explicit process for assuring that all code meets the standards, then there is a risk that the code base will not meet the standards.
Similarly, the lack of an Error Management and Defect Life Cycle workflow increases the risk that problems in the software will be forgotten and not corrected, or that important problem will not get priority notice.
The QA process is compulsory in a software development cycle to reduce these risks, and to assure quality in both the workflow and the final product.
To have no QA activity is to increase the risk that unacceptable code will be released.