The method you use to remove stains from white paint depends on several factors, including the type of paint and type of stain. Flat-painted walls will pose the greatest challenge unless they're painted with one of the newer matte or flat washable paints. Flat paint usually can't be scrubbed and cleaning chemicals can mar the paint. Tougher, glossy, water-based or alkyd (oil-based) enamels are easier to clean. As a general rule, the shinier the paint, the easier it will be to clean.
Try the easiest, least invasive method first. Use a dry rag or one of those "magic" sponges that can remove some stains and scuff marks without water or detergent. Rub gently in a circular motion and see if the stain comes off.
Spray the stain lightly with a mild cleanser. Let it sit for about a minute to let the cleanser work before wiping it.
Wipe the stain with a rag and mild detergent. Use a grease-cutting detergent or solution, such as dish washing detergent or white vinegar, if the stain is oily or seems to have penetrated the surface.
Use two separate buckets and rags; one for washing and one for rinsing. When doing a large area or entire wall, work from the top of the wall down.
Try ironing out grease or wax spots. Turn on your iron and let it get quite hot. Place some dry paper towels or brown paper over the stain, and place the iron on the paper without letting it rest directly against the wall. Do not let it sit in one place for more than 20 or 30 seconds because it can melt the paint. This may absorb the stain into the paper.