"DC offset" comes from the analog electronics world. It means to add a
constant amount, similar to the idea of biasing vacuum tubes or
transistors into the "middle" of the linear range of operation.
Because it does not change with time, it is inaudible.
In the case of denormal numbers, usually the cause is a filter that
decays toward zero, but in theory never reaches zero. Once it decays
to a number less than the minimum number that can be represented at the
current digital bit width, then the computer invokes denormal
computations which are CPU intensive.
Usually these filters have what one would call a "state" register, say
"y". Each time through the loop "y" is multiplied by some number, like
0.99. After several hundred thousands of samples of silence, this
decays to something very small. If every sample going into the filter
has a constant amount (like 10^-18) added to it, then it keeps it from
decaying into a denormal.
Noise does the same thing, only this offset changes over time randomly,
so if it is ever amplified to an audible amount, you hear a flat "hiss"
instead of a single tone. It is also able to pass through high pass
filters. In an unknown system where you don't modify the source code
and recompile, the noise may be the only way to get the offset trick to
carry through the entire system.
I hope that helps to understand it.