This topic has been done to death, so I will simply point elsewhere:
…and summarize:
Always add an alt
attribute, even if empty — It's necessary for
validation.
Ornamental images should have alt=""
— Their absence doesn't
reduce the coherence or function of the page.
For navigation images, indicate the destination, or how it relates to the current location — Say ‘Next’ or ‘Previous’, or ‘Yoyodyne Inc’, or ‘Yoyodyne Inc Home Page’; definitely not ‘Yoyodyne Logo’.
Exploit the other image attributes,
title
(perhaps for a caption,
or an informal identifier) and longdesc
(for a description of the actual
picture.)
For images that just contain text, use that text.
For a vital image, explain it's value, and the cost of trying to obtain it,
As a guide, if it doesn't make sense in a text browser, it's probably wrong — It will also be wrong for search-engine robots. Try it in Lynx or something.