I believe it's because ice is crystalline, and the spacing of the water molecules in the ice crystal is greater than in the liquid form.
That's why I've floats and, incidentally, why life survived the oceans in prehistoric times. If ice sank, oceans would freeze from the bottom, instead of just at the top - you would NOT want that to happen.
I agree with waldorff. When water freezes, the molecules find their lowest energy state by arranging into clusters that take up greater space at the molecular level than they do in the liquid phase. As a result, a given mass of water when frozen will occupy a larger volume, and thus its density is lower and it will float on liquid water which is comparatively denser.