Sometimes there is an implication that надо is need due to an external circumstance, while нужно is need due to your own decision.
However, this distinction does not always hold true and then these words can be used interchangeably. Also надо is a little bit more common.