In my (well, my parents) experience the best thing to do is not take any deals when you call them to cancel and go ahead with the cancellation. So far with 3 contracts they have always called us back about 3 days before the end date to offer some good deals. One time we got offerred 400 mins, 250 texts, 25 video mins, 25 MMS and £5 downloads for £35 for 18 months. Didnt get a new phone, just kept the existing stuff. This was for 2 contracts my parents took out together.
After they were up they offered us a refurb Nokia 6500 with 700 mins and some texts for £10 a month, 12 month contract. For the second phone it was £10 a month, 18 months, M+M 300 and a new SE K660i.