Had to cut the price on a large retail contract by 40% to keep it

The main contractor was given a kick-in by the store over it's national contract.
They got their floor cleaning staff to price to clean it, (at £6 p/h) and then told main contractor to match it. They rolled over and did so.
Have told them I will cut out high level cleans but still gutted. It was touch and go whether to dump it, but I have other work on the same retail park so I'll do it for now.
Does anyone else have similar tales of woe?
Good job I have a variety of work types or I'd be worried