Best contract deals are always done face to face in your local store. decide on the phone you want first then on the maximum you want to pay per month.
walk into the store and tell them the deal you want then begin haggling
I got an N95 8Gb free on a 12x£30 tariff this way when there should have been a £150 handset premium.
Remember your the customer doing them a favour by buying from them. you can take your custom elsewhere they WANT to sell to you
Same for traiff changes. Vodafone CS will tell you you have to wait 9mth into a contract to change tariff's. go into a vodafone store and they will do it anytime there and then
I was surprised to get such a decent upgrade after only 9mths but it definitely works. it was even delivered next day free!
Got a follow up call from CS a week later reminding me i can upgrade again in 9mths :-)