The contract can work out acceptably in some cases. Of course it isn't as cheap as buying a phone outright on 0% and going SIM only, but, just as an example...
Friend on O2 was paying £66 a month for a 14 Pro Max and the tariff over 3 years. But O2 do Switch Up, which means you can change phone for free, so it's now going to be changed to a 15 Pro Max for the same monthly tariff and no extra outlay. Phone is around £50 a month on 0% for 2 years anyway, so if you just consider the O2 contract as a perpetual contract that entitles you to a new phone every year no questions asked, you could look at it as the tariff part being only £16 a month anyway. It also includes EU and USA roaming which is pretty good.
Over 12 months on a 0% plan you'll have paid £600 plus whatever for your SIM anyway. I guess as with everything it depends on your use case and how you want to break it down. I don't think I'd ever personally want a contract that was going to run for 3 years, but I could understand the appeal of doing it and upgrading phone every year for no charge with no hassle of selling/trading in.