Well, it may be totally a result of inconsistent rep training, so it probably varies from store to store - BUT here has been my experience...
I have a smartphone that is totally useless. All sorts of software and hardware bugs have started in the past few months, so I decide that now is the time to upgrade and get the iPhone. My contract doesn't renew until October, so initially I'm told I have to pay a $36 upgrade fee. They're only letting me do this because, since the iPhone isn't subsidized, you can upgrade to it anytime.
So, just to push the point a little, I ask why I should have to pay an upgrade fee at all since the product I rely on to use their service is malfunctioning to the point that I can't USE the service. The rep goes to ask the manager. The manager comes out, we go back over the same info. The manager types some stuff on her computer and tells me they will waive the upgrade fee - ON BOTH MY NUMBERS!
Apparently there is a lot of flexibility for managers and reps to circumvent a lot of this stuff. Be persistent and polite, and most times you won't walk away feeling like you've been taken advantage of.