tl; dr version :
Slowly changing an energy function will slowly change the minima and maxima (i.e. critical points) of the function. The global minima (or the ground state or lowest energy value) is given by the lowest eigenvalue of the matrix that represents the Hamiltonian. This is the quantity that is to be computed by following the ground state of an initial Hamiltonian to the final Hamiltonian.
During the adiabatic evolution, no two eigenstates can be collapsed on one another if using a random Hamiltonian to add in during the perturbative process, as per random matrix theory. However, jumping between energy states can occur if the gap between the ground state and the next excited state is too small. So, the key is to design an adiabatic path that makes this gap as large as possible.
So, the quantum physicists are always asking about what the size of this minimal gap is for any given initial Hamiltonian and a straight line interpolation to the final Hamiltonian. But, since adding in a generic Hamiltonian during the adiabatic process guarantees that no energy levels cross, we need to fully understand the situation with including such a perturbed Hamiltonian, especially if this (as far as I can tell) is what is done in practice due to the 'It seems to work, but we dunno why' philosophy. The why comes from tapping into random matrix theory and using known results regarding the spectrum of the matrix and the average distance between any two eigenvalues of a random matrix.
Since the average distance between any two eigenvalues is 1 / n, where n is the same of the matrix, then the average distance between the ground state and the next excited state is 1/ 2^k, where k is the number of q-bits. We see then that the minimal gap, on average, is 1/2^k.
Now, you could have a special starting Hamiltonian, or a family of starting Hamiltonians that are still generic, but have some more structure. If you use these Hamiltonians, you may be able to beat the average and have better luck. But nobody knows what are good classes of starting Hamiltonians, or if certain initial Hamiltonians are good for certain problems, etc.
I see algorithmic development using this knowledge and discovering techniques that apply these tools as a huge step forward.