Disagree with you here completely. A lot of people don't just view cars as their mode of transport, a lot of people drives cars for enjoyment as well. The whole point of this thread is if he were to buy a car every three years, what is the most affordable way to do it.
Here is some math, its not exact as I haven't done any Present value calculations, but illustrates a point.
Go to bmw's site and spec a plain jane 320i mSport. Monthly cost over 72 months = 8917.35pm. For a 36 month GFV deal you pay 5899pm for the same car. Lets assume you take two 320i's one after each other in the same deal (and this is where the present value and future value calculations on a new car hasn't been done), you get the following total costs:
Financed over 72 months, total payments = R642 049 - you now own a 6 year old 3 series
Two GFV deals over 72 months, total payments = 424 728 - you don't anything.
Split the difference you get = R217*321. If you think a 6 year old BMW is worth that, finance it. If not you're better off leasing. Best price i can find for a similar spec with about 100k kms on autotrader is 150k. Trade would be much less, probably 120.
In my mind a leased deal in this scenario is way more attractive. You could do 1 more 3 year deal before you hit the same spend mark, and a 9 year old 3 series would start hurting on the maintenance.