Welcome to Just Answer. I will do my best to fully answer your question(s).
The smell is likely your hot water, but cold also be your soap or combination of the two. Iron or sulfur present in the water is amplified by the heating process. One way to help eliminate this is via a softner/ iron removal system but you may also need to replace the existing waterheater's anode rod with an aluminum one. this will void the warranty unfortunately. If the heater is older than six yrs the warranty is probably expired anyways.