You can remove old stains by soaking the stained area in some cold water for a few hours or so.
Then you can pretreat the old stain with a solution of white vinegar and baking soda or you can also use a stain remover.
Allow the stain remover of the white vinegar and baking soda to sit for a few minutes or longer and then you can wash the clothing or fabric in your washing machine as usual.
If the old stain is really stubborn you can repeat the process again or even use a specialized stain remover.
Oxiclean is a good stain remover and can often remove old stains.
For blood stains on clothing you can use hydrogen peroxide which works very well.
And for other stains you can also use Dawn dish soap, which is especially good for grease stain removal.
Soaking the garment or fabric in laundry detergent and baking soda along with some water can also remove most old stains.
Rubbing alcohol can also be used to remove most old stains on fabrics and other surfaces.
Some foods stains can be hard to remove which include coffee stains, tea stains, gum, peanut butter stains, mustard stains, berry juice stains, tomato-based sauces stains, baby food stains, red wine stains, chocolate stains, cooking grease and butter stains.