When it comes to stains, nothing beats washing it out, the moment it hits.
But you won't always be in a situation to do this. So what do you do?
When trying to get stains out, it's important to identify what kind of stain it is, so that you'll have an idea which soap/solution to use, and think about how your next steps will affect the fabric you're trying to save.
For example, if you have a grease stain, there's a good chance that your dishwashing liquid may be your best response. Because that's exactly what you use it on, when you're washing dishes: to make sure you cut the grease that just won't let go. Depending on the type of stain, you may want to soak it into your chosen solution ( such as cold water and vinegar, for example) for 30 mins or so, before you start trying to rub it out.
In the event it IS necessary to use friction to remove the discoloration/buildup, DO NOT rub the fabric against itself. It's only going to spread the problem. Make sure you rub the stained area gently with a toothbrush. Make sure you do both sides. Then rinse, and repeat as needed.
We're not going into specifics as you may have your own preferred products that work for you. The same solution won't always work, for all stains. But the important thing is to take into consideration the stain, the durability of the fabric, and how the solutions you want to use, may either save it, or make the problem worse.
You may be using the right solution, but what if the ratio of product to water is too stringent? What if you're overly strong and vigorous with your application/rubbing? Most solutions have some type of active ingredient like a form of bleach, especially for difficult cases. You might end up with a hole, instead of a stain.
Like a relationship, you need to consider how to solve a problem effectively, as opposed to just bombarding it with everything you think might work.
Thought and Preparation will always help you solve problems the way they need to be solved..
(image not ours. it's from an article about Sal's Suds, which incidentally, IS a product we've used)