Leasing a car is the better option if they only want to keep it for a certain amount of years. This is because with leasing you are only paying the depreciation of the car instead of the buying price. Also, it benefits people that can't pay the down payment for the car.
Buying would be the better option because the overall cost would be less. After the car is paid off, the owner gets much more value from the car, having already paid it off.