This may sound "duh" but the best bathroom cleaner is "often". With almost anything.
Which sounds like a A LOT of work, except that daily & weekly cleaning makes it take 30 seconds a day, and 5 minutes a week.
Yay!!!
(Instead of the "I HATE this" 20/30/60/2hr scrubbing adventure.)
To get to a baseline you MAY have to regrout. Once the surface is porous, you're screwed.
But baseline clean from Ugh!!! Involves some seriously caustic stuff.
CLR (calcium lime rust) for those bad boys
Comet Paste (comet + water) for grout stains
LONG sitting (hours, typically)
LOTS of scrubbing, rinsing, off gassing.
BUT once you've got the baseline... Just spray daily, and run a bartowel with your favorite cleaner weekly. Keeps the sparkle new for YEARS.
BIG HINT: If you have a curtain liner... Run it in the machine with a cup of bleach and a little soap once a week. Obviously, no dryer.
BIG HINT: If you have boys... Make them wipe down the toilet and floor around the toilet DAILY (like before their bath at night). Husbands won't, but you'll be raising a generation of husbands who (gasp!) clean up their pee.
It takes less than a minute to do this every day.
I call it the "ticket to stand". If ya wanna stand, you wipe it down every day. Again... With whatever your favorite cleaner is.