Mainly because .GIF and .PNG files don't work as favicons in Internet Explorer.
Also, the .ICO format allows you to store customized versions at different resolutions, i.e. 16x16, 32x32, 64x64 pixels, and various color depths (16, 24 or 32 bits), insuring that the best possible look is available for the icon, regardless of the size or color depth available in the browser.
http://www.photoshopsupport.com/tutorials/jennifer/favicon.html