What is the difference between non-adiabatic coupling and diabatic coupling? The diabatic couplings are the off-diagonal terms of wave functions written in a diabatic basis. There is a need to use the diabatic basis when there is a breakdown of the Born-Oppenheimer approximation. Then a transformation is done from the adiabatic to diabatic basis. But what does non-adiabatic coupling mean? 

The reason I am asking is that most quantum chemistry softwares (I use Molpro) calculate the non-adiabatic coupling. Then some procedure has to be used to convert them to diabatic coupling. But what is the difference between the two and why do I need to use the diabatic coupling?
The difference is in the representation: adiabatic representation, being exact, allows you to make adiabatic approximation. If you do not want to have adiabatic approximation, there will be off-diagonal matrix elements in kinetic energy, so the coupling goes through kinetic energy. In diabatic representation, the kinetic energy is diagonal, and the couplings come from potential.
As was pointed out above, diabatic coupling allows you to apply Landau-Zener rule and estimate probabilities of transition.