Using biological examples and theoretical arguments, the case is presented for extending the notion of natural selection to include internal selection in order to account for the evolution of complex systems. It is suggested that we take into consideration internal factors that arise from the hierarchical dynamics of complex systems. In addition to environmental selection, it is argued, decisive constraints are created by the system itself. Canalization is shown to be an indispensable ingredient for evolutionary processes in both biological and artificial complex systems. In artificial life systems canalization is not only an instrument for controlling complexity, it also increases the speed and stability of evolutionary processes.