ok here we go - hubby's a dry cleaner, not the same area as carpets, but some stains still the same!
You need to use something that gets UNDERNEATH the stain, so that it rises to the top of carpet. Professionals use their own products, but a good alternative is anything light and fizzy - ie lemonade, sparkling wine (usually around when it's a red wine spill!), soda etc........ I have also found the "oxy" type washing products good.
Basically in laymans terms, the liquid soaks to the bottom of the fabric and then the carbonated (or oxegenated?) bubbles rise to the top, bringing the stain with them. If you try and remove the stain not using this method you will get the results that you mentioned ie stain seemed to go, but you are really pushing stain DOWN into fabric so it will reappear.
Alternatively, use a carpet cleaning company! After all, we don't like people trying to do their own nails or beauty!!!!!!!!!!!!:lol: