Reduce the likelihood of spills turning into stains by wiping them up immediately.
Scrub tough stains with a nylon brush or nonabrasive nylon pad. Don't use steel wool since it can scratch the tile and leave rust stains.
If your tiles seem to stain easily, seal them. Unglazed tiles and stone are most likely to stain if not sealed.
Some grouts also stain easily. Seal just the grout if your floor doesn't need to be sealed.
For stone, a poultice will sometimes work. Mix up a paste of a powdered material such as plaster of paris with a liquid cleaning agent such as water or a mild hydrogen-peroxide solution. Spread the paste on the stain and cover it with plastic. Let it dry for a day or two, then brush it off. Ask your dealer what products to use for your stone.