Although the words «нужно» [nuzhna] and «надо» [nada] (need) are synonyms and have the same meaning, there is a difference between them. It is not easy to understand it but you can memorize the following: we mostly do not use the word «надо» [nada], when we talk about a subject or something that we need.
For example:
Мне нужен доктор – I need a doctor.
Мне нужна эта книга – I need this book.
Мне нужна ваша помощь – I need your help.
When we want to express our need in any action, when we are forced or want to do something – we can use the word «надо» [nada] as well as the word «нужно» [nuzhna].
Мне нужно позвонить – I need to make a call.
Мне надо позвонить – I need to make a call
Мне нужно сдать экзамены, чтобы получить диплом – I need to pass exams to get my degree.
Мне надо сдать экзамены, чтобы получить диплом – I need to pass exams to get my degree.
The word «надо» [nada] is considered to be more colloquial, while the word «нужно» [nuzhna] is more formal. But actually there is no difference in a speech. There is also an opinion that the word «надо» has more strict connotation in a negative sentence. The difference is barely noticeable but native speakers can sense it. It can be expressed like this:
«не нужно это делать» ~ «не стоит это делать» or «вы не обязаны это делать» (you don’t have to do this)
«не надо это делать» ~ «не делайте этого» (don’t do this)
We take last sentence as a prohibition, the first – insistence, advice.
Undoubtedly, a lot depends on intonation in a speech.