Oil and shellac finishes aren't as common on hardwood floors as they used to be, and the polyurethane coating that you find on most contemporary floors is highly stain-resistant -- but it isn't completely impervious to fluids. Most spills won't cause permanent stains if you get to them quickly, but water or other liquids left standing can seep through the surface and stain either the finish or the wood. Removal may require bleaching.
Most fluids won't leave a stain if you wipe them up promptly, but some, such as red wine, are different, and even if you wipe the spill as soon as it happens, it leaves a spot. You may be able to remove the spot without harming the finish by rubbing it with isopropyl alcohol. If that doesn't work, try bleaching it out with full-strength bleach or vinegar: Pour the cleaner on the stain and let it sit for 30 to 45 minutes; then wipe it away. These cleaners dull the finish, so you'll probably need to touch up with a single coat of polyurethane.
White Water Stains
When you leave water standing on a hardwood floor, it seeps through the finish and leaves a white ring or spot. As long as the water hasn't seeped into the wood, these white water marks aren't difficult to remove. A simple method is simply to cover each spot with mayonnaise and wait overnight for the oil it contains to seep through the finish and replace the water. If you want more immediate results, rub the area with mineral spirits and 000 steel wool. After the spot is gone, touch up the floor finish with paste wax or floor polish, and buff it with a soft cloth.
Black Water Stains
The most troublesome hardwood floor stains are those that affect the wood itself. They are usually the result of standing water and are most likely to occur when the finish has worn thin. You need to remove the finish to bleach these black stains out of the wood, and the best way to do that is to sand the affected area by hand with 120-grit sandpaper. The best bleach for water stains is one that contains oxalic acid, but you may have success with full-strength peroxide. After the stain comes out, be sure to neutralize oxalic acid with a solution of 1 tablespoon baking soda per cup of water before touching up the finish. Neutralize peroxide with clear water.
Grease and Dye Stains
if you drop grease or oil on the floor, you can usually clean it up with soap and water; castile soap is ideal because of its high lye content, but you can also use dish soap. Mix an ounce of soap in a quart of warm water and use it to wash the affected area. Rub out stubborn grease stains with a cotton swab moistened with peroxide followed by a second swab moistened with ammonia. The procedure for removing dye that has penetrated the wood is similar to that for removing black water stains, but after sanding off the finish, use chlorine bleach to remove the dye. Be sure to neutralize the bleach with water before touching up the finish.