Portugal has got 10 "dialects" and a different similar language (aragonês).
Brazil has got 16 "dialects"...
Let us speak about some average tendencies...
In average, we may say that Brazilians have more tendency to use "para" than "a" when they are almost interchangeable because the change of meaning is not essential.
In average, we may say that Brazilians have more tendency to use "para" than "por" when they are almost interchangeable because the change of meaning is not essential.
For example, in England, some people may say more "good bye" than "see you", and other people more "see you" than "good bye". This is a question of habit and not meaning. A similar thing happens to "por" and "para".
"Eu fiz isto por ti"= I have done this in your behalf, or I have done this because of you, or I have done this instead of you.
"Eu fiz isto para ti"= I have done this so that the benefit (normally) goes for you.
In many situations, when we do an action, all aspects are involved. Tradition and culture make people use one word more than another. This does not mean that the meanings of the words are different for each kind of people. This happens because the people's culture points out one aspect more than the other.