There is practically no difference, look:
"czemu" - although is used mostly in informal speach (friends/family), it´s not a very colloquial word in fact, it´s just a shorter variant.
I think I wouldn´t use it only in formal writing (abbreviations are rarely used in formal and professional writing) :)
"Dlaczego" can be also used to emphasize a question, for example:
- Czemu nie?
* Po prostu nie i już.
- No ale dlaczego?!