NULL is not nothing!
If your explanation were correct then the result of
select '456' + NULL
would be '456'. And it isn't, it's NULL (which is what you'd expect).
This is what threw me. I expected STUFF to act like the addition operator since there was no mention of the behavior on MSDN. They should probably add this quarkiness to the documentation.
Without testing, how could one know.
Aigle de Guerre!