It is correct that the retailer does not have to sell at the lower (incorrect) price but they have a legal obligation to correct the pricing error as soon as possible.
"...they can sell it at any price they like, despite what's marked on the goods."
Not true. It is a strict liability offence under the Consumer Protection from Unfair Trading Regulations 2008 (CPRs) for a retailer to mislead a consumer, so if they were to charge (or even attempt to charge) a higher price at the till "despite what's marked on the goods" the retailer would be in contravention of the CPRs.
The Office of Fair Trading (OFT), Local Authority Trading Standards Services (TSS) and the Department of Enterprise, Trade and Investment in Northern Ireland (DETINI) have the legal duty to enforce the CPRs. This does not automatically mean that formal enforcement action will be taken in respect of each and every infringement. Instead, the duty obliges enforcers to take steps to promote compliance by the most appropriate means. In many instances businesses are encouraged to comply with the regulations through the provision of advice and guidance, however civil and criminal enforcement of the CPRs will be undertaken where necessary. The maximum penalty for misleading a consumer is a £5,000 fine and/or 2 years imprisonment.
http://www.oft.gov.uk...ts/cpregs/oft1008.pdf