24 month contracts are fine, providing you understand what you're committing to. It's one way of getting an expensive smart phone for a relatively small monthly fee, if you're not in a position to pay cash for one, but they can become a millstone round your neck if your circumstances change. If you think it's a rip off, find another solution. Ordinary, cheap, phones work just as well for calls and text.
I got my daughter a contract phone in South Africa, when she was at school, because I didn't want to risk her running out of airtime. There weren't any smart phones then, it didn't cost an arm and a leg, and she was responsible. It never caused any problems, but she got a bit tired of friends who had burned their airtime wanting to use it, and the incessant "Call Me" texts, because she "Didn't have to pay for the calls anyway"!
I'm going to cancel my contract when it runs out in the summer. The Vodafone signal where I live was fine when I got it, but has steadily deteriorated and is now so weak that it's just about impossible to rely on it. I just get the red "SOS" emergency calls only a lot of the time.