One reason: People who don't load images can get the idea, or - I find this one useful - people on cell phone browsers can see the ALT text while the image loads (guess this applies to all slower connections).
Other reasons: HTML/XHTML specs now specify it should be populated, accessibility is better since those that are colorblind may choose to view ALT instead of images, etc.