Generally, Por implies a sense of exchange whereas Para implies a sense of purpose or destination.
However, I have compiled a useful list of more specific scenarios of when to use por vs para:
Para
1) Destination: esta toalla es para el cuarto de baño
2) Purpose: trabajo para ganar dinero
3) Deadline: los deberes son para mañana
4) Standard: es alto para su edad
Por
Cause/motivation: : the reason for something happening: Me caí por la nieve
Substitution: pago $5 por la camiseta
Emotion/agreement: gracias por el regalo or estoy por el matrimonio homosexual
Duration: fuimos a Barcelona por dos semanas
Movement/transport: viajamos por avion, or es por alli
"per": cinco por ciento, or a veinte millas por hora