I'm not a professional but i have a little experience with stains. I don;t ever use bleach because it really deteriorates the fabric, and after a few washings it begins to fray or rip easily. Instead washing soda (arm and hammer in the states) (it's not baking soda, but washing soda, stronger) is miraculous - for things with stains, wet it, sprinkle the soda on the cloth (this works on colors too, like jeans with heavy grease stains) roll it up and throw in the washing machine with the hottest water the color will take. The cloth should look like you got it wet and sat on the sandy beach, completely covering the cloth.
For yellowed white cotton, i;ve gone back to the methods of the olden days - boiling the cloth in a pot on the stove with washing soda. (actually, for curiosity, i tried ashes too - the way clothes used to be washed - they'd layer the cloth with sifted ashes and fill the pot with water and boil. When they cooled down they'd wash them (I tossed in the washing machine) and they actually did get clean. the ash mixed with the grease produced soap)
On the other hand i can;t seem to get out the gradually increasing dingy grey that comes with repeated washing in hard water.
I imagine you all know about getting stuck burned pots clean by filling with water and washing soda and boiling - the burnt on stuff just lifts off.