Your signal is basically composed of two types of signals that are:
1 - The deterministic ones, like tones or DC
2 - The non-deterministic ones, like true noise
When you take a single snap-shot and perform an FFT, it can sometimes be difficult to determine whether a "peak" is caused by a deterministic tone or happens to be a noise component, especially if your expected tones are of the same order of level as your expected noise components. A single FFT measurement of a pure white noise signal typically results in a variation in level (as function of frequency) of more than 10 dB, so you may see peaks that may be confusing.
That is where averaging becomes handy. So if you are averaging correctly (RMS averaging), and your "peak" disappears, it most likely
means that ... it wasn't a tone.
If you want to detect tones that are "almost" embedded in the noise, you have different options, including:
1 - Use RMS averaging and see if that uncovers your tones
2 - If not, try to perform your FFT on a longer time record. You will achieve 3 dB improvement in selectivity every time you double your record length.
3 - (This may not be applicable in your case). If you have a way of triggering on a "copy" of the signal you are looking for (like if you want to detect 50-60 Hz power hum, you could trig on the Main power), you can then use Vector averaging. This will more or less average your tone signal correctly while removing un-correlated noise the more you average.