Why does C=O have a larger dipole moment than C-O?
According to Wikipedia, bond dipole moment depends on:


Distance between atoms and 
Overall charge difference, not just electronegativity difference.   


Resonance tells us that there is some amount of charge separation in $\ce{C=O}$ bonds because of the $\ce{C+-O-}$ contributor. This difference in charge, in addition to the electronegativity difference, is more significant than the decrease in distance between atoms, hence the larger dipole moment for $\ce{C=O}$.