They are the same thing to me.
Hi Elemika, I agree with your description, but hesitate about the examples:
Мне нужно учиться, чтобы получить работу.
Мне надо учиться, чтобы получить работу.
So, надо is just as personal here as нужно, isn't it? Same as in:
Тебе нужно знать эти правила.
Тебе надо знать эти правила.
Well, let's try this way:
-Гражданин, купите собаку!
-Да не хочу...Мне не нужно...
-Хочу - не хочу, нужно - не нужно...Надо! Пропадет ведь!
Here "нужно" comes from inside ( у меня нет нужды в собаке, собака мне не нужна), "надо" сomes from outside (необходимость, существующая вне нас)
I agree, they are very close, it's only my attempt
Let's remember this one: надо - значит, надо!
Andrey, as to my examples, the only thought I tried to express was this one:
if I hear "Надо учиться!" I feel that it's decision of my parents or my chief or somebody else because they need my education..;
if I hear "Нужно учиться!" I take it as advance, because they say that I/everybody need education.
But of course, it's only my personal opinion