Back in the early days of web design, sites were built with fairly universal HTML attributes. At the time, when you saw an image on a page, the file for that image had to exist in a local folder where the HTML page could find it. But on the off chance the image didn’t show up on a viewer’s browser, designers had intentionally added an ALT attribute with a short snippet of text describing the image. That way, when a visitor saw a page where the image wasn’t working, at least the page would show a simple description of what was supposed to be there.
Search engines found this attribute quite useful as well. Since the search engine spiders were just programs and had no way of interpreting an image like a human, they actually depended on relevant descriptions. The spiders would find an IMG tag, look for the ALT attribute, and prepare to index the keyword values that had been given to the image. Unfortunately in 2016, these spiders come up short in far too many cases.
Why does this happen?
The simple answer is that content management systems (CMS), like the immmensely popular WordPress, have made it easier to upload images and gloss over the embedded ALT attribute. Since they were never required to begin with and they’re still not required, it has become extremely easy to plug an image onto a page without having any sense of SEO value for that image.
But can’t my image still show up on Google even if I don’t use ALT attributes?
Sure it can. But in that case, any value comes by association. Your image would simply be indexed by keywords from the page, rather than the image having its own value attributed independently from the page. At the end of the day, for sites with, say, 100-200 images in a WordPress library, attributing values to every image would take the better part of two hours. If you’re an SEO professional, just take the two hours and do it. Your client will probably never know you did, but after a few days, Google sure will.