Why postfix is used more often than prefix expression?
The evaluation is easier for postfix-notation expressions.
The evaluation is done easily using a stack. The expression is processed from left to right, one token at a time:

operand -&gt; put it on the stack;
operator -&gt; get from the stack the number of values it needs (two for +, three for ?:, one for unary - and so on), combine the values using the operator and put the result on the stack.
when the entire expression is processed, the stack contains only one value; it is the value of the entire expression.

The prefix-notation expressions can be evaluated using a similar algorithm that uses the operands (instead of the operators) to trigger computations. However, it is not that straight-forward; it involves lookups on the top of the stack to find the operator and to decide if enough operands were read for it.
The prefix-notation expressions can also be evaluated from right to left using the same algorithm as for postfix-notation expressions.