Why does BT not clearly state date contract ends anywhere on website or bills?
Welcome to the forum. That a $64,00 question for many people. The problem is that technically a contract with BT doesn't end until it's actively terminated. References to "contract end date" usually mean the end of a minimum period during which the contract can be terminated by the customer without penalty. Once that minimum period is up the contract does not end but carries on subject to a 30 or 14 day notice period (though any special prices may revert to higher, standard ones).
That said, it ought to be possible to have the minimum period end date displayed on bills, though it's easy enough to get it from Billing Live Chat. Or keep a diary.
So we are not aware of when we can change provider without penalty and/or prices increase when we are out of contract.
You may be right. I don't know if other providers are the same, but none of them were keen on Ofcom banning the practice of automatic renewal of minimum periods a couple of years back, and the lack of transparency might be a bit of feet-stamping.
everyone posting here apart from the mods is a customer just like you
Do you have any connection with BT?
I do actually. It's a copper cable that comes through a hole in my front wall.