The networks generally don't care much about retention if you're a low spender on contract (under £30 or so per month) and only get really interested if you're a heavy spender, even better if you're exceeding your inclusive minutes and getting billed on top.
It used to be about building market share so they were keen to get and retain anyone to keep the numbers up. These days it's about profitability so unless they're making plenty of money out of you they don't really care if you go to someone else.
As for the iPhone, they're selling well without discounting. Plus the network has to pay Apple for the privilege of carrying them so they don't have anywhere near as much room to move on price as with everything else.