FFF
You're right with water - the relatively large dipole moment (difference in charge) between the Oxygen and Hydrogen atoms in Water produce very strong intermolecular forces known as Van-der-Waals forces. These keep it a liquid at room temperature and keep its liquid structure really quite compact, making it quite dense.
However ice has a regular cubic structure, which is not very efficient in packing the molecules in - there are really quite large interstices in the crystalline structure. This makes water at 0 degrees more dense than ice at 0 degrees, and for a good few degrees above zero as well, giving the anomolous expansion upon freezing.
No prizes for guessing which degree Foggy did at Uni...