As effective as it clearly is, natural selection is not impotent. Selection can work only with available variation. If appropriate mutations do not arise, selection cannot operate. As used here, genetic constraint refers to the failure of a possible mutation to occur. Developmental constraints may cause adaptive imperfection.
Natural selection can work only with available material.
Because of the nature of a complex developmental program, some forms of variation may not be possible. Historical constraints may cause adaptive imperfection. So possibilities for future adaptation are always limited by structures put in place by prior history of adaptation. An organism's design may be a trade-off between different adaptive needs. As in any engineering project, the adaptive design of an organism necessarily involves compromises among conflicting needs.