At first sight... I thought to give this answer:
There is no difference between them... You can use vice versa "neden" or "niçin" in any situation....
This is generally (%95) true... And we can use "neden" or "niçin"... Vice versa...
But there is an exception... (%5)
Sometimes we can use the word of "neden" as "sebep" (reason)
But we don't use the word of "niçin" as "sebep"
Exceptional example for it:
Okula gitmek istemiyorum. Nedenlerim:
I don't want to go. My reasons:
In this example we can't use "Niçinlerim" (?) instead of "Nedenlerim" (We can use Sebeplerim)
Shortly: There is no big difference between neden/niçin... Just we can't use "niçin" instead of "neden" if we use "neden" for the meaning of "sebep" (reason)
Examples:
Neden geldin? / Niçin geldin?
Neden gülüyorsun? / Niçin gülüyorsun?
Neden okula gidiyorsun? / Niçin okula gidiyorsun?
Exceptional examples:
Seni sevmek için bir neden söyle? (Say me a "reason" for love you)
Seni sevmek için bir "niçin" (?) söyle ....> This is not correct...
I think I create a new grammer rule for Turkish... After all this examples I realize something... If we use "Neden" at the beginning of the sentences, we can use also "Niçin" instead of it... But if we use "neden" in the middle of sentence, NOT ALL TIME we can use "niçin" instead of "neden". If we use "Neden" for the meaning of "sebep", WE NEVER USE "niçin" instead of "neden"...
Extra information:
"Ne + için" shortly Niçin
"Ne + den" is together neden...