OpenGL's matrix stacks (there are multiples--one for each matrix mode) are intended for use with hierarchical models. That is, you can define the rigging of a child object (say, a wheel) with respect to its parent body (say, a car), without regard to the location/orientation of the parent when the child is drawn. That is, it allows you to compose transforms easily and intuitively.
The matix stacks (and GL matrix operations in general) are no substitute for a general purpose matrix math library. They simply exist to allow composed transforms to be efficiently applied to vertex data. As others have said, this functionality has been removed from OpenGL with the demise of the fixed-function pipeline, because the needs of shader programs are less uniform than the needs of the old pipeline.