Had just the same issues
In London I had a service which was supposed to be 100Mbit, even shortly to be upgraded to 150Mbit. The problem was that at peak times (the main time I wanted it), I couldn't stream, I could hardly get basic web pages. My lodger even ended up getting his own ADSL line installed, he was so fed up with it. This was an ongoing issue for more than a year. Finally, running speed checks I established that I did get full speed at certain times (like when engineers visited during the early daytime), but that it consistently dropped off as the afternoon went on - like when some get back from school and then others get back from work, until my 100Mbit was more like 1Mbit with high latencies and packet loss.
Confronted with information saying that day in, day out the service was good earlier in the day then unusable in the evening, they admitted not only was it down to the network being over capacity, not only was it going to be at least months before it was sorted out, but they had known my specific installation had issues for more than 8 months but hadn't acknowledged it to me.
Initially they offered just a discount on the broadband for the next few months because the service would be more limited, but I argued that when they knew there was an ongoing issue they wouldn't be able to fix, they should have let me know and given me the option of cancelling my contract (as I would definitely have switched had I known). They had to admit they failed on this (which is something they're obliged to do) and therefore offered money back on the service going back to that date.
Since I'd upgraded to the Superhub 2 to try to resolve these problems and had similar issues going back a few years, this wasn't necessarily a full compensation for the issues, but it took a lot of pushing to get them to even provide any refund for service not provided to date, and it really shouldn't have.
Their representatives stated that it affects people differently, some may not notice issues. I call shenanigans on that - some may not realise they aren't getting the service that they're paying for, but everybody in my area would have been affected - just because they're not technically literate enough to identify and complain about an issue didn't mean there wasn't a fault that Virgin should have been compensating their customers for. They should be forced to contact ALL customers in affected areas and offer appropriate compensation (e.g. if they only provided 10% of the advertised speed at peak times, consistently, they should be refunding 90% of the broadband charges for the period, automatically). Only with them held to account to refund the majority of affected customers would it remove the incentive to keep treating customers in such a disrespectful and dishonest manner.
Aside from this, they don't even let existing customers get the prices advertised online - look for the best bundle deal as an existing customer, ignore the introductory discount, and ask them to provide the ongoing price, and at least in some cases they'll say that's not available. I had that last Christmas when they refused to honour their advertised pricing for a full TV bundle, wanting to charge £15/month more than the ongoing price listed because I was an existing customer, and refusing to provide full 'existing customer' pricing so I could compare packages for myself. So it's not just on the broadband that they're shady...