I was just watching one of my favorite Spanish-language movies, Maria Full of Grace, which is fantastic for learning Spanish, by the way (because you can turn on English or Spanish subtitles and the script is available online), and I noticed they would use the expression “para qué” about as often as “por qué”. I knew they were nearly the same, and the context seemed to indicate so, but I thought “well, there has to be a difference, otherwise why would they bother using one instead of the other?” So I did a bit of research and here’s what I found out.
They can both mean “why”, as in when translated into English they will both tend to be translated into that specific word, however…a good translator won’t do that, because “para qué” doesn’t really exactly mean “why”, or just “why”, at least. What it more accurately translates to is “for what?”, that is you’re asking what the purpose of doing something is, you’re asking what the objective is, what the person intends to accomplish by doing it, in other words you’re asking for what purpose they’re doing it, hence the translation for it really being “for what?”, or perhaps “what for?”. See how that does sort of fall under the definition of “why”, but a better, more precise way of putting it would be “for what”? It’s sort of like translating “de qué parte?”, which means “from what part”, as “where”–yes, you could, it’s not incorrect, but there’s a more accurate translation.
“Por qué”, on the other hand, is typically used when you simply want to know what someone’s motivation is or what the cause is of something happening. Maybe they didn’t have an objective, maybe they just did it because they were angry or happy or sad or whatever, or maybe there was an objective, in which case you can still use “por qué” though perhaps “para qué” may have been a better choice if you wanted to make it clear that you wanted to know what their objective was, not just their motivation for doing it (sometimes those are the same thing, sometimes not).
I like translating things literally because it helps you understand where the actual meaning came from. Here, it really helps: “para” means “for” in the sense of “in order to”, whereas “por” is more frequently used to mean “by” or “because of”, and of course “qué” means “what”, so let’s take that and look at these two phrases and see if this makes sense. “Por qué” literally means “because of what”, as in “what caused this to occur?”, whereas “para qué” literally means “in order to what?”, as in “you’re doing this in order to…what?”. Does this make sense now? Hopefully this also helps you to remember when to use “por” and when to use “para”, as well, since I know a lot of people have trouble with that.