Noises in a hot water system can be caused by a few things or a combination of 2 or more things. In most cases noises do not mean there is danger.
Popping noise is most commonly caused by a buildup of sediment in a gas water heater. Sand rust mineral deposits and calcium are usually the culprit. The cure is to drain and flush the water heater. This will definitely be a frustrating experience to solve by the average homeowner. The reason being, when you open the drain valve, no water will come out. This is because the bottom of the tank is full of sediment. The water heater drain valve has to be replaced and if the valve is made of plastic, it has a 50% chance of breaking while you try to remove it. If it breaks you will need an easy out to get the remainder of the valve removed from the tank.
While you are dealing with this dilemma the area around the water heater is flooding. So be prepared to have all kinds of tools and parts ready before you start. Now that you have the water drained from the water heater, open the service valve and flush the unit for 15 minutes. Close the drain, fire the water heater and if the noise persists, remove and clean or replace the anode rod.
Condensation can occur in the venting of a gas water heater and drip water on the main burner. Most likely nothing can be done. Make sure it is not a leak at the tank or fittings
Expansion and contraction caused by heating and cooling of copper water lines may cause noises in the system. The piping is most likely inside a sheet rocked or paneled wall. Once the wall is opened up the pipe can be inspected and secured or insulated where the noise is occurring.
Water Hammers can be caused by loose piping. Either secure the pipes or install water hammer arrestors where needed.
Gas water heater venting can make expansion and contraction noises if not properly installed. Hire a sheet metal company who deals with appliance venting to solve this issue.
If you have a Tankless Water Heater and it is making noises, call a licensed plumber. Your water heater has a scale buildup and this can be a dangerous situation.