1H-NMR: What parameters influence spin-spin coupling between protons, and why?

I'd like to better understand spin-spin coupling. What other mechanisms are there besides fermi contact interactions? How are the different mechanisms influenced by different parameters like hybridization, bond angles and lengths, free electron pairs, substituents and why?


As a more [specific follow-up question](https://chemistry.stackexchange.com/q/171227): why do oxygen atoms in unstrained, $\ce{sp^3}$ hybridized ethers usually prevent further coupling? What are the differences between $^4\mathrm{J}\_{\ce{HCCCH}}$ and $^4\mathrm{J}\_{\ce{HCOCH}}$ coupling?


