Natural selection is the key mechanism through with evolutionary change occurs and has led to the near infinite modifications that we see in the biological diversity of the world today.
In order for natural selection to occur, three conditions must be met. First, there must be variation – individuals differing from each other – within the population. Second, these differences must be inheritable, that is, they can be passed down from one generation to the next. Thirdly, there must be differential reproductive success among individuals in the population. In other words, individuals with some sets of traits must be more successful at surviving and reproducing in their environment that some other individuals of the same species.
Natural selection does not act on genotypes but rather on phenotypic differences between individuals in a population. It is important to note that a gene codes for a trait only in the environment in which it is present. In other words, a gene’s effect must be taken in combination with the full range of environmental parameters that exist for the organism. All the possibilities of a gene’s effect (known as the gene’s expression) is known as the norm of reaction. Variation in a phenotype can be due to variation in only genes, variation in only the environment, or a combination of both.

Natural selection can only operate if the traits are inheritable, which is to say that they can be passed from one generation to the next. This requires there to be a genetic component to the variation of a trait within a population. This genetic component must also have fitness consequences, as defined by the expected success of an individual with those traits relative to the other individuals of the population.

An adaptation refers to a trait arisen through natural selection that is inheritable and increases the fitness of the organism in it’s living and non-living environment in the present-day. The term for at trait that serves a purpose in the present-day but evolved under different selection pressures and historically served a different function is known as an exaptation. This underlies two potential explanations for the evolution of complex traits: that intermediate traits were adaptive and served a function similar to what exists in the present, or that intermediate traits were previously unrelated traits that were-opted for new purposes.
It should be noted that a trait doesn’t necessarily have to lose it’s original function and that sometimes traits can serve multiple purposes. On a genetic level, the process of gene sharing occurs when a protein that serves one function in one part of the body is co-opted to perform a completely different function in a new location. In addition, gene duplication occurs when instead of moving to the new location, a protein duplicates itself, allowing the duplicate to take on the new role while the other continues it’s original function. Some genes can affect more than one trait and are known as pleiotropic genes. When pleiotropic genes have a negative effect in one context (possibly due to it’s evolutionary history) but a positive effect in another, it is known as antagonistic pleiotropy.

Limitations exist as to the end products of natural selection. Generally, the rate of adaptation is proportional to the supply of new variation that is available in the population. That is to say that a population cannot change faster than the rate at which new changes occur. This can occur through gene flow such as when individuals with different traits from a different population generated under different selective pressures enter the current population. In addition, selection may be unable to act on a trait if the genes involved are linked to other characteristics. Randomly occurring mutations can overcome all of these given enough evolutionary time as even small differences in fitness can translate to large-scale changes when observed at these levels.
Other majour limitations exist on the processes of natural selection. Firstly, there are physical and mechanical laws and constraints. Secondly, the physical environment (and living environment in the case of coevolution) is constantly shifting, and so species are unable to fall into an optimized phenotype. Lastly, selection favours immediate changes as opposed to future changes, and cannot predict the downstream effects of new traits.