For really bad stains, especially on plastic a combination of H peroxide and baking soda will do the trick. My mother in law smoked in her bathroom, chained smoke! I could find nothing to take the awful stain out. Finally used peroxide and baking soda and it did a wonderful job.
We used vinegar on a chemically corroded shower head, stuck it in a plastic bag filled with vinegar, banded the top. The shower top was clean the next morning. Also great on spinach
Great animal cage cleaner!