The difference is the level of speech. "Nous" is formal while "on" is more "familiar". They mean the same in some contexts. For example : nous sommes allés au cinéma / on est allé au cinéma has the same meaning. Nous sommes contents / on est content.
However, there is a slight difference. "Nous" refers to identified people. On the contrary, "on" can be used when people have not been identified. An example : on a frappé à la porte (you don't know who knocked at the door), on te demande au téléphone (you are asked at the telephone).
"On" is also used in idioms. Example : Plus on est de fous, plus on rit (etc...)
I hope I made it clear but I'm sure other natives or French speakers will complete my post.