Multiple Design Point Airfoils
One of the difficulties in designing a good airfoil is the requirement for acceptable off-design performance. While a very low drag section is not too hard to design, it may separate at angles of attack slightly away from its design point. Airfoils with high lift capability may perform very poorly at lower angles of attack.
One can approach the design of airfoil sections with multiple design points in a well-defined way. Often it is clear that the upper surface will be critical at one of the points and we can design the upper surface at this condition. The lower surface can then be designed to make the section behave properly at the second point. Similarly, constraints such as Cmo are most effected by airfoil trailing edge geometry.
When such a compromise is not possible, variable geometry can be employed (at some expense) as in the case of high lift systems.