Stacks are used for postfix expression evaluation because operators are applied to the most recent operands, matching the LIFO (Last In First Out) principle. When encountering an operator, pop required operands from the stack, apply the operation, and push the result back.