What's the difference between kenapa and mengapa?
There is no difference in meaning, only in formality, "mengapa" is the formal way.
"Mengapa" is more formal. In writing or Bahasa Indonesia lesson, you may not use "kenapa".
"Kenapa" is more informal and is used in conversation.
Apa = What
Kapan = When
Dimana = Where
Mengapa/Kenapa = Why
Siapa = Who
Bagaimana = How