Our grout was so stained (previous owners) that no amount of cleaning would take care of it. We had it colored (painted), and it turned out great. It's yellowed a tiny bit, but just being a consistent color makes it look tremendously better.
Before that we tried bleaching, scrubbing with SnoBowl and other cleaners, and steam cleaning. Nothing worked very well.