Having studied this extensively back when they were called Genetic Algorithms, I would like to offer a few insights.
1) One of the biggest reasons they fell out of favor for more "mathematical" approaches was that no one could really explain why exactly they worked. It makes sense on the surface that "survival of the fittest" and doing something akin to multiple stochastic gradient descents would work, but no one has really been able to produce a mathematical proof as to why.
Since other folks are producing good examples of "explainable AI", I don't know how Genetic Algorithms/programming could be made 'explainable' as to why they achieved an optimal solution other than hand-waving to how evolution works in nature.
2) The most important thing to define is the fitness function, this defines what the search space looks like and how easily a globally optimal solution can be derived. For a good example of an interesting search space that a genetic program would have a difficult time with, see Schwefel functions [0]. Back when I researched these things closely, my intuition was that reality rarely fits neatly into good fitness functions and I felt that at the point you are understanding the problem, you may just be better off with a direct approach, which leads to
3) Genetic programming should only really be considered when there are no known alternatives or they are way too computationally expensive.
In either case, I would welcome a resurgence in a topic I once knew quite well, though I haven't been in that field for a few years now.
[0] https://jamesmccaffrey.files.wordpress.com/2011/12/schwefels...