There have been varies theories explaining the production of lift by an airfoil. Interestingly, many rather most of these have been misconceived and hence are false. This lists the major theories proposed and the drawbacks they suffer finally leading to a correct acceptable theory.
A fluid flowing past the surface of a body exerts a force on it. Lift is defined to be the component of this force which is perpendicular to the oncoming flow direction. It contrasts with the drag force, which is defined to be the component of the fluid-dynamic force parallel to the flow direction.
If the fluid is air, the force is called an aerodynamic force. An airfoil is a streamlined shape that is capable of generating significantly more lift than drag. Aerodynamic lift is commonly associated with the wing of a fixed-wing aircraft, although lift is also generated by propellers; helicopter rotors; rudders, sails and keels on sailboats; hydrofoils; wings on auto racing cars; wind turbines and other streamlined objects. While common meanings of the word "lift" suggest that lift opposes gravity, lift can be in any direction. When an aircraft is flying straight and level (cruise) most of the lift opposes gravity. However, when an aircraft is climbing, descending, or banking in a turn, for example, the lift is tilted with respect to the vertical and the lift is greater than, or less than, the weight of the aircraft. Lift may also be entirely downwards in some aerobatic manoeuvres, or on the wing on a racing car. In this last case, the term downforce is often used.
Non-streamlined objects such as bluff bodies and plates (not parallel to the flow) may also generate lift when moving relative to the fluid. This lift may be steady, or it may oscillate due to vortex shedding. Interaction of the object's flexibility with the vortex shedding may enhance the effects of fluctuating lift and cause vortex-induced vibrations.
In attempting to explain why the flow follows the upper surface of the airfoil, the situation gets considerably more complex. It is here that many simplifications are made in presenting lift to various audiences, some of which are explained after this section.
Consider the case of an airfoil accelerating from rest in a viscous flow. Lift depends entirely on the nature of viscous flow past certain bodies: in inviscid flow (i.e. assuming that viscous forces are negligible in comparison to inertial forces), there is no lift without imposing a net circulation, the proper amount of which can be determined by applying the Kutta condition. In a viscous flow like in the physical world, however, the lift and other properties arise naturally as described here.
When there is no flow, there is no lift and the forces acting on the airfoil are zero. At the instant when the flow is "turned on", the flow is undeflected downstream of the airfoil and there are two stagnation points on the airfoil (where the flow velocity is zero): one near the leading edge on the bottom surface, and another on the upper surface near the trailing edge. The dividing line between the upper and lower streamtubes mentioned above intersects the body at the stagnation points. Since the flow speed is zero at these points, by Bernoulli's principle the static pressure at these points is at a maximum. As long as the second stagnation point is at its initial location on the upper surface of the wing, the circulation around the airfoil is zero and, in accordance with the Kutta-Joukowski theorem, there is no lift. The net pressure difference between the upper and lower surfaces is zero.
The effects of viscosity are contained within a thin layer of fluid called the boundary layer, close to the body. As flow over the airfoil commences, the flow along the lower surface turns at the sharp trailing edge and flows along the upper surface towards the upper stagnation point. The flow in the vicinity of the sharp trailing edge is very fast and the resulting viscous forces cause the boundary layer to accumulate into a vortex on the upper side of the airfoil between the trailing edge and the upper stagnation point. This is called the starting vortex. The starting vortex and the bound vortex around the surface of the wing are two halves of a closed loop. As the starting vortex increases in strength the bound vortex also strengthens, causing the flow over the upper surface of the airfoil to accelerate and drive the upper stagnation point towards the sharp trailing edge. As this happens, the starting vortex is shed into the wake,  and is a necessary condition to produce lift on an airfoil. If the flow were stopped, there would be a corresponding "stopping vortex". Despite being an idealization of the real world, the "vortex system" set up around a wing is both real and observable; the trailing vortex sheet most noticeably rolls up into wing-tip vortices.
The upper stagnation point continues moving downstream until it is coincident with the sharp trailing edge (as stated by the Kutta condition). The flow downstream of the airfoil is deflected downward from the free-stream direction and, from the reasoning above in the basic explanation, there is now a net pressure difference between the upper and lower surfaces and an aerodynamic force is generated.