What is currently stopping us from having a theory of everything? i.e. what mathematical barriers, or others, are stopping us from unifying GR and QM? I have read that string theory is a means to unify both, so in this case, is it a lack of evidence stopping us, but is the theory mathematically sound?
One thing that stops us from having a theory of everything is actually quite simple. Gravity as we understand it, thanks to the strong equivalence principle, is not a force. It is entirely geometrizable because there is actually no coupling constant between a physical object and the "gravitational field".
This means that there is no a priori way to discriminate the action of "gravity" on different objects: it acts the same for everybody (obviously, I'm not speaking about the interaction of EM with gravity and stuff here).
On the contrary, quantum fields as we know them are defined on space-time, and therein exist coupling constants that tell you how the dynamics of an object are influenced by the value of the field on a given space-time point.
In this respect, one can easily see that the question "if usual fields with coupling constants happen on space-time, where does space-time interaction happen?" hardly makes sense. This shows that a theory of everything has to treat space-time as something else than just an usual quantum field.
Let's stick to Newtonian mechanics in order to understand what I mean by "no coupling constant". Let me remind you that in some inertial frame, the second law is $F = m_I a$, for some object of inertial mass $m_I$. Now, call $\phi(x,t)$ some potential. A physical object is said to interact with $\phi$ with a coupling constant $q_\phi$ if $F = - q_\phi \nabla \phi$.
Now, what happens if the quotient $m_I/q_\phi = G$ is the same constant for all physical objects? Newton's second law shows the acceleration of an object that interacts with such potential is the same for everyone, that is, $G a(t) = -\nabla \phi(x,t)$. This means that there's no way to discriminate physical objects by looking, only at how they interact with $\phi$. Hence, we are always free to follow a "generalized" strong equivalence principle, which would stipulate that to be inertial is to be in "free fall" in the potential $\phi$. This would lead us to a geometric formulation of $\phi$ as a metric theory of space-time. There is therefore no need to introduce a coupling constant $q_\phi$ and to see the $\phi$-interaction as a force. Now, notice that this is exactly what happens for gravitation.
I think it may have been Witten (perhaps somebody can correct me) who suggested that a TEO might not actually exist. Just as we might never, even in principle, posses the mathematics that can interpolate between the strongly coupled and free limits of QCD, it might not be possible to write down one set of equations that describes one corner of a TEO, say, particles, and another, say space-time. At best, we might only be able to show that our various sets of equations are limits of something that cannot be written down. A lot of mays and mights, and nothing concrete, of course. It's just worth realizing that a TEO need not exist.
The problem is that there are too many possible theories of everything with no way to eliminate any of them. General relativity predicts everything on a large scale, quantum physics predicts everything in on a small scale, and both predict everything on a medium scale. There's more than one way to reconcile the two, and all of them are experimentally indistinguishable.
They're not identical. For example, they have very different predictions about how black holes work. But since we don't have access to black holes, this isn't helpful.
My take on the subject is slightly non-standard, but it conforms to both the many world hypothesis and the Mathematical Universe hypothesis advanced by Max Texmark, and the final conclusion is not too far from conventional beliefs.
The Anthropic principle loosely constrains the underlying local evolution propagator to have a low-energy effective functional that allows stable complex molecules, as well as long-term sources of energy (stars), but it doesn't constrain in any way what mathematical principle will realise the constraints.
We need an additional heuristic hypothesis to guides us into how to find principles that realise those low-energy constraints. Occam's razors fits the bill for the most part, and mathematical concise unified descriptions usually fit well in the heuristic criteria of economy of principles and elegance
But there is more to it: if we think about it in terms of superposition many-worlds, we exists on mathematical universes that both conform and not conform to economical and elegant principles. Experiments that try to discern between competing theories are in a very precise sense, "incomplete measurements" of the underlying universal laws, but since the set of possibilities is not only not discrete, is not measurable in any sense of integrable measure (there is no way to parametrize with measurable set of parameters the mathematical space of possible physical laws that describe our universe, as most of those aren't even computable, and it would be a contradiction of the Turing theorems), we can't talk of the space of possible universe models in any computable sense.
So, In summary: while the 'elegant unifying principle' is a good heuristic principle to search for laws, is nothing more than that. There is no guarantees that the universe will conform to any of those principles. We exist in all possible mathematical universes that conform to our low-energy propagator, but there is no rigurous sense in which we can say that elegant, economic principles will occupy a larger portion of 'phase space volume' of possible theories, as the idea of a phase space volume is deeply linked with a theory of measure, which absolutely doesn't exist for mathematical models in general