Personally, I think the most practical flooring for a bathroom is sheet vinyl or real linoleum. Any sort of waterproof sheet goods would be practical in a bathroom.
Ceramic tile is cold on bare or stocking feet, causes a change in the floor height and requires a sturdy floor structure to support it properly. The more expensive sheet vinyls have a urethane coating on them to prevent staining, and I think that's a good idea because vinyl does stain if you spill the wrong stuff on it.
What I do is apply an acrylic sealer over the sheet vinyl floors in my bathrooms, and since I've started doing that, I no longer have had any stains on my bathroom floors. If I can't remove the stain from the acrylic sealer, I simply replace the acrylic sealer in the area of the stain. Any acrylic sealer intended for use on Vinyl Composition Tile floors will also work on sheet vinyl flooring.
Also, don't believe the BS about a "lifetime guarantee". If you've ever seen the "recommended maintenance" regimen that Forbo recommends for their floors, it's unreasonable and designed to ensure Forbo never has to pay out on that guarantee. It requires you to sweep the floor every day, to dam mop it once a week and to clean up any liquid spills before they hit the floor. And, as with most warranties, it protects the manufacturer, not the customer, by limiting the manufacturer's liability to providing you free of charge with another piece of sheet vinyl flooring. It's still up to you to pay the cost of removing the old flooring and installing the new stuff, which is most of the cost involved in replacing flooring.
So, I have no respect for manufacturer's guarantees on sheet vinyl and real linoleum flooring and have nothing but contempt for the floor maintenance products these manufacturer's peddle, but if it were my own bathroom, I'd definitely consider a sheet vinyl or real linoleum floor as being a practical and economical option.