If your old ceramic tile is worn or dated, you can lay new tile right over the old, and avoid the huge job of tearing out the old tile. This assumes that the floor underneath is solid (concrete) and that there are no cracks in the existing tile (indicating underlying problems in the concrete). In fact, pros do it all the time.
Surface preparation is paramount. Start by making sure all the tiles are solidly bonded to the floor. Tap them lightly with a wood mallet or a chunk of 2x4. A hollow sound is an indication that a tile is loose. Remove and reset any loose ones with thin-set. Next, use a 4-ft. level to find any high spots and grind those down using a right-angle grinder with a masonry wheel. Then sand all the tiles with a belt or orbital sander (80-grit) to scratch any surface glazes. Remove any moldy or loose grout with a rotary tool or carbide scraper. Vacuum the tiles and clean with detergent and water to remove dirt, sealers and wax. Rinse the surface with clear water and let it dry.
Buy a latex-modified thin-set (one brand is FlexBond) and mix it in small batches to keep it from skinning over. Complete adhesive coverage is critical on large tiles (12 in. or larger) and even more important when you’re tiling over tile. Some installers prefer to “flatback” each tile with the flat edge of the trowel before applying the tile to the combed thin-set. Others prefer to use a larger notched trowel (1/2 x 1/2 in.) to apply the thin-set. Whichever method you use, always comb the adhesive in one direction (no swirls). Then set the tile on the floor and slide it perpendicular to the combed thin-set to knock down the rows and spread the adhesive.