> doesn't work for most optimisation problems - you get stuck in local optima.
This bit is not necessarily true. In practice, and given the high dimensionality, it is (apparently) quite hard to get stuck in local optima. [0]
[0] https://www.quora.com/How-come-neural-networks-dont-get-stuc...
In almost every optimisation problem I've encountered in practice, you do get stuck in local optima using simple techniques like SGD. Interaction effects are everywhere, and create local optima.
How do evolutionary algorithms let you evolve the architecture? You define a model space, and explore it stochastically (with different evolutionary strategies). The model space you are exploring is linked to a specific architecture.
Regardless, there's also efforts in Deep Learning to automatically learn optimal network architectures ("AutoML").
Evolutionary algorithms work by sampling a combinatorial solution space, and learning about the interactions between solution components. This is made explicit (and much more elegant) in the definition of EDAs:
https://en.wikipedia.org/wiki/Estimation_of_distribution_alg...
By contrast, gradient descent makes the assumption that such interaction effects don't exist or don't matter, which doesn't work for most optimisation problems - you get stuck in local optima.