Your case is similar to mine. First, I had a new contract offer online of £51, and I didn't accept it straight away. Two days later, when I was going to accept, the price was raised to £55, and my current monthly bill was too high at £88. (They upped my bill early. On the contact page, it said that my bill would be rising on 23rd December, but they raised it a month earlier!)
So I rang to say I wanted the £51 deal that I was offered but was told I could not have it. I also complained about the high bill and they said even if I accepted the £51 deal a couple of days back my current bill would still be higher! (which is nonsense) so then I said I wanted to leave as I cannot afford their new price rise and didn't like their practices and as it was black Friday I had plenty of cheap options.
However, after being on hold for 15 minutes I was given a new deal and I decided to stay as it worked out better overall and they also said if I accept it my current bill would be lower.
I was expecting my router on the 3rd of December and nothing arrived. I contacted Virgin online and they said it would take 48 hours. I waited 96 hours and nothing showed so I contacted Virgin online again and this time I was told everything would be sorted by the 20th (which is starting to look bleak).
As I have not received my new router they haven't bothered to change me over to my new deal so I had to pay my current high bill leaving me out of pocket for other things, though they said to me they would deduct anything I have overpaid this month from my next bill (which I think is another lie so I am sure I will be complaining about that to them soon).
I really don't understand why they couldn't just give me my new deal minus the new router and speed for the meantime as that would give me at least half the deal they promised and also would lower my bill as promised.
They're going to have to give tons of customers free months for this debacle.