Quality Assurance and Quality Control are two very closely related concepts and because of that close relationship they are often confused and one is inappropriately used as a substitute for the other.
Quality Assurance is a process focused concept, where the processes are put in place to ensure the correct steps are done in the correct way. If the correct processes are in place there is some assurance that the actual results will turn out as expected.

Quality Control is a product focussed concept, where checking of the actual results are done to ensure that things are as expected. If the correct controls are in place you can know for certain that the actual results have been achieved because the actual results have been checked.

Quality assurance processes are put in place to provide some comfort that the end product is what you want. Quality control is making sure the end product really is what you want. That can still be a bit confusing so this article will walk through some examples to clarify the difference between Quality Assurance vs. Quality Control.

Manufacturing

Quality assurance and quality control are both crucial concepts in terms of manufacturing to ensure a company's products are created effectively and in a manner they expect. If they're not customers may be dissatisfied and business lost.

Take for example car manufacturing. Quality assurance would mean setting up the processes necessary to prove comfort that the car is manufactured to the exact specifications you need. Ensuring there is a process to test the alloy composition in the materials provided, a process directing where bolts are to be inserted and tightened. Those processes would be considered quality assurance.

Quality control would be the physical and mechanical tests that take place throughout the process to ensure the quality assurance processes have been followed and you do in fact have the exact car you expected. Visual inspections throughout the process, reviewing the results of the various tests performed, these would all be quality controls performed.

Writing Code

When developing a program or application extensive code writing takes place and there are a lot of quality assurance and quality controls that need to be in place to ensure the program does what you want. In establishing a quality assurance program you would set out processes like required reviews at certain steps, replication of relevant aspects of code from other applications that you know work already. Those processes that employees have to follow would be part of your quality assurance program.

Writing code is so complex, however, that it is almost impossible to have a perfectly working program or application on the first try. This is where you quality control comes in. Programs and applications will be tested and tried with a variety of variables so that every aspect is actually tried before the program is considered finished. This quality control ensures that a flawed program is not delivered to customers (and is often not done nearly enough in practice as many programs and games require multiple fixes after delivery).

Quality Assurance vs. Quality Control?

These two concepts are not so much at odds with each other but rather complimentary aspects of an overall quality program that is required in many situations. A company's emphasis on quality assurance and quality control often depends on the ramifications of an improperly completed product or deliverable. A video game can be delivered to market and have some unaddressed problems, or require more testing, and the only cost is customer perceptions. An airplane can't be handled as laxly, as if a flawed airplane is delivered people can die, and it's considered such an important issue that the government adds a secondary level of quality assurance and quality control. Weighing the importance of quality assurance and control, and the emphasis placed on each, has to be determined on a case by case basis.