Cannizaro Reaction, Hydride Shift Reason?
Hydride shift occurs because in the intermediate dianion there is no other suitable leaving group. It is either $\ce{H-}$, $\ce{R-}$ or $\ce{O^{2-}}$. Of those $\ce{H-}$ is the best leaving group. Note though that even under these conditions $\ce{H-}$ will of course not be solvated on its own (it is way too unstable for that). It is directly transferred from the dianion to the aldehyde.

This reaction will go "to the right" since the hydride shift is irreversible. There is simply no mechanism to form a dianion from the alcohol and carboxylic acid.