Not quite. The difference is actually grammatical:
"Надо" is an adverb; "нужен" is short form of adjective "нужный" (masculine).
What may be confusing here is that there is also an adverb, "нужно", which coincides with the short form of the same adjective in its neuter gender: "нужное"→"нужно".
As adverbs, "надо" & "нужно" are completely interchangeable; the former is simply more informal. As an adjective,
"нужно" should never be replaced by "надо": "это пальто мне нужно" ("I need this coat", or more literally, "this coat is needed by me"), never "это пальто мне надо".
You might encounter uses of "надо" as an adjective, but it's an unmistakable sign of either childish or uneducated speech. It's quite easy to tell the difference between an adjective and an adverb (at least for a native speaker): if in doubt, turn the noun (in this case пальто) into something masculine or feminine (e.g. куртка=jacket). An adjective would then have to change its form while an adverb will not.
Должен/на/но/ны is 'should.' Нужен/на/но/ны is 'need to.' Надо is 'must/has to.' It's levels of urgency. Должен = should; it would be good to do this. Нужен = need to; it could be bad otherwise. Надо = must; this is imperative; the consequences of not doing it are really bad.
Then, out of curiosity, how would you say "Mom doesn't need to do anything"?
I tried to figure it out and I couldn't come up with anything much different than Icystrider did.
Example (common in my house growing up):
Kid: Mom, you need to find my sock!
Mom: "Mom" doesn't need to do anything!
(implying - ask politely. Mom is not your slave.)