Changing material properties frequently is relatively expensive.
Sometimes you will want to have a lighted model that has varying colors - different material colors per vertex.
Rather than making calls to glMaterial for each vertex, you can use color-material mode, and call glColor to change the material's color.