This happened to us in 2021 on Iona. We booked 2 years in advance chose our cabin. 3 weeks before departure P&O emailed to say ‘due to health ….’ We’ve had to move you from mid ship Deluxe Balcony but have upgraded you to a Junior Suite even though you chose not to upgrade. You’ve guessed it the junior suite was on deck 8 - promenade towards the front of the ship. We phoned and complained they told us the ship was full to either take the upgrade or cancel for full refund. We chose to cancel as we wanted privacy and sea views. About 45 mins later I receive a call from P&O saying they have a mid ship deluxe balcony on a slightly higher deck would we like it? They said that they found some cabins hadn’t been allocated and when they enquired with higher up management we’re told they were being held for ‘upgrades’
So in other words the ship was not full, they were holding back cabins to upgrade other passengers and were willing for us to cancel our holiday. We were fuming but in the end we took the higher floor mid deluxe cabin, the balcony was not as big as the one we had chosen but at least it was high mid ship and not on the promenade.