There are some grey areas here, but overall you're right. "Почему" = cause,"зачем" = effect.

"Why are you so pale? Are you ill?" = "Почему ты такой бледный? Ты заболел?"
(You're asking what...