Here's what I can find at the moment:
1. You can't use надо with nouns. For instance, "Мне нужна ручка" is correct, but "Мне надо ручка" is incorrect. OK, sometimes even native Russian may say "Мне надо ручку", but I think, it sounds not very good.
2. Надо is more informal, than нужно. And if you want to reach the height of formality, use необходимо instead of нужно and надо.

Difference between надо and нужно is very insignificant in spoken language.