Usually when a car dealer offers 0% financing they also offer an option to get a cash rebate instead. Foregoing the rebate is the same as paying interest upfront.
For example, on a $30K car they may offer 0% interest or a $3K cash rebate. If you take the 0% interest for 48 months, your payments will be $625/month. If you take the cash rebate and finance the car at 5% your payments will be $622/month.
So they are really charging you interest, they are just hiding it.
If I walk into the dealer with 30K cash there is no guarantee they are going to give me 3K off of the sticker price.
I got .9% for 60 months on a Honda Civic fully loaded LX cost 20K. My payments are 350/mo. Sounds like a lot but I still have my cash. Not a penny down. Almost free money. Plus I negotiated the price FIRST before financing talk begins. I NEVER talk financing until I reach a good price.
I can invest my 20K and come out with 25K in 60 months.