Tile over tile is an accepted method as long as the substrate (tile) is in sound condition and bonded well to it's substrate. You can read the back of a bag of thinset on what types of substrates are acceptable and tile is one of them. I have used this method mostly on floors but have done a few showers and countertops. The key is to make sure that everything will still function and operate properly. For example, on floors makes sure that the additional layer of tile will stay clear of all the doors. Look to see if there is room on a door slider. Make sure the door thresholds are still above the tile. Check the dishwasher, will you be able to remove it if it need servicing? Get the idea? It can be done but you want to check all areas where there may be a problem. Keep in mind that any transitions between the tile and other floor surfaces like hardwood, vinyl and carpet may need a metal or wood transition strip to create a proper finish and always include a thorough tile layout!
Showers are a little more straight forward with only a few items to look for, but are extremely important. Check the shower valve (mixer valve) to see if an additional layer of tile still allows it to operate correctly. Sometimes that extra layer will not allow the trim to fit and the valve may no longer have the clearance needed. Keep in mind that the trim pieces like a quarter round will no longer work because the tile is now close to an inch from the wall if there is backer board or mortar behind the original tile. I generally use the tile over tile method when installing a natural stone like travertine in which I can fabricate and polish my own pieces to trim the walls. Take it from a ceramictilepro, If you're not sure about the plumbing, don't hesitate to get a professional opinion.