Contract is best.. data contract is hassle free.. i always have data.. or when i need to make a call i always have minutes.. stress free.. prepaid is bother .. always worrying about no airtime and no data.
I prefer to buy on contract. Every time I need to renew I look around at phones that are good value and at the various contract options. I know everyone always wants the latest and greatest phones but that is where the service provider catches you. And be honest, most people get the latest phone and pay on contract for the image - very few use all the phones features. Last year my contract expired and I couldn't find what I wanted so i went on month to month. I was eyeing out a Xiaomi Redmi 4a as a good value phone. In fact I was thinking of buying one cash when a on a chance visit to the Vodacom shop I found they had that phone available. I was paying almost R173 pm for my uChoose contract (best of both worlds really) without phone. I had a S4 before and had paid R240 pm for that. With the Redmi my contract (and the same "free" minutes) became R135 pm. Looking at that I feel I scored. The Redmi is perfect form me and the battery life is 3 days! Maybe getting the best deal is a case of being patient. Don't let FOMO and clever marketing make you poorer.