Almost any type of flooring can work in a bathroom. Even hardwood floors can be used if they're finished to be water resistant.
Bathroom carpet should also be a water, mildew and stain resistant with a backing that doesn't allow water to seep into the pad.
However, tile and one-piece "sheet" vinyl floors are probably the best all-around choices because they're easy to clean and effectively resist staining and moisture penetration.
This page addresses how to install vinyl flooring in the bathroom, so for detailed tiling information see Ceramic Tile Index.
Laying Vinyl Flooring
After the plywood subfloor has been laid, fill any low spots or cracks with a latex-based floor patch so the floor will be level.
Roll out a large piece of scribing felt (cardboard-like paper found at flooring stores) and make a template cut to fit the floor.
Tape down the edges against walls. Cut out holes and tape them every few feet to hold the paper down. Once the template is done, carefully roll it up and move to a large, open space to cut the vinyl.
Roll out the vinyl on a hard, even surface and orient the template on top of it so the pattern runs as desired. Cut out around the pattern with a very sharp utility knife, changing blades when necessary.
Test fit the vinyl in the bathroom. "Perimeter" vinyl only requires glue to be spread around the outside edge, while the whole floor needs to be glued for "sheet" vinyl.
Follow the manufacturer's directions for spreading glue. Typically, you'll spread adhesive with a notched trowel on 1/2 or 1/4 of subfloor, set the vinyl and roll the next section back.
If your flooring has a seam, overlap the pieces about a 1/4", making sure the pattern lines up. Lay a straight-edge down the middle of the seam, press down firmly and cut through both layers.
Roll back both pieces, apply glue to the subfloor, and set them in place. Once the flooring is glued down, use a 100 lb. roller (available at rental stores) to eliminate uneven spots and set the vinyl in the glue.