It's important to know what your tub is made of. If it's porcelain you can use more abrasive cleaners but if it's fiberglass do not use anything abrasive on it. Abrasive cleaners will scratch both porcelain and fiberglass and so you do need to be careful. If it's an old tub, the surface has probably worn off on the porcelain and that is why you have stains. After cleaning it, wax it with car wax which will put a finish on the tub and make it easier to keep clean.
We have a very old porcelain tub and found that coating the surface with shampoo, letting it sit overnight before rinsing it off returns the porcelain to a brighter white color.
I haven't had a fiberglass tub but my daughter has. Her tub is stained. I wouldn't use anything abrasive on it without asking a dealer how to clean it.
As someone else said. Leaving a product on for longer, perhaps overnight, enables the cleaner to work better. I know c.l.r. works after it's left on for a couple of hours.