Depending on coding, simple crossovers can have high chance to produce illegal offspring
E.g. in TSP with simple binary or path coding, most offspring will be illegal because not all cities will be in the offspring and some cities will be there more than once
Uniform crossover can often be modified to avoid this problem
E.g. in TSP with simple path coding:
Where mask is 1, copy cities from one parent
Where mask is 0, choose the remaining cities in the order of the other parent