É importante referir que esta dúvida não é tão pertinente em português europeu/de Portugal, porque as expressões não se lêem todas da mesma maneira: por que e porque lêem-se da mesma maneira, e por quê (que não se usa em português de Portugal) e porquê lêem-se da mesma maneira, mas os dois grupos são diferentes entre si.
Em português europeu/de Portugal:
Por que
Pode ser utilizado de modo relativo, em qualquer frase onde que possa ser substituído por o/a qual, os/as quais
Este é o motivo por que aqui estamos. = Este é o motivo pelo qual aqui estamos.
ou interrogativo
Por que motivo trouxeste isso?
Por quê
Não se usa, de todo. Veja-se esta página.
Porque
Pode ser utilizado enquanto advérbio interrogativo, de modo a que seja equivalente à expressão por que motivo
Porque chegaste atrasada? = Por que motivo chegaste atrasada?
ou conjunção causal, de modo a que seja equivalente à expressão visto que
Hoje tive que faltar porque houve greve de metro. = Hoje tive que faltar visto que houve greve de metro.
Porquê
Pode ser utilizado enquanto substantivo
Não entendo o porquê de me estares a tratar assim.
ou em interrogativas (directas ou indirectas)
Porquê?
Chegámos tão tarde porquê?
Perguntei-te porquê.
Em português do Brasil:
Por que
Pode ser utilizado de modo relativo, à semelhança do português de Portugal, em qualquer frase onde que possa ser substituído por o/a qual, os/as quais
O caminho por que devo passar. = O caminho pelo qual devo passar.
A razão por que assim procedi. = A razão pela qual assim procedi.
bem como enquanto locução, em perguntas, do mesmo modo que o advérbio interrogativo porque em português de Portugal, uma vez que se subentende razão, motivo, etc.
Por que chegou tarde? = Por que motivo chegou tarde?
Por quê
De acordo com esta página, citando Domingos Paschoal Cegalla, usa-se "por quê no final da frase ou depois de pausa acentuada, devendo-se acentuar o que por ser, nesses casos, palavra tônica:"
Os dois se hostilizam por quê?
Interrogados, não quiseram dizer por quê.
Estava no meio daquela multidão sem saber por quê.
"Se considerava onipotente: não sabia por quê, mas ele acabaria por vencer, achava" (Autran Dourado, "Monte da Alegria", p.143)
Sendo, portanto, equivalente ao porquê do português de Portugal (exceptuando o facto de não poder ser utilizado enquanto substantivo).
Porque
Ao contrário do português de Portugal, só pode ser utilizado enquanto conjunção causal, podendo também ser substituída por visto que
Fiquei calada, porque não tinha nada para dizer. = Fiquei calada, visto que não tinha nada para dizer.
Porquê
É utilizado somente enquanto substantivo
É incompreensível o porquê desta discussão.
Mais algumas referências: 1, 2, 3, 4 (em relação ao português de Portugal), 5, 6.