If you read Bonvoy T&C, it was very clear that Bonvoy give the hotel very generous leeway for upgrades and even SNA.
Hotel decide the room/suite type and number for complimentary upgrades and SNA pool.
Also hotels can hold their inventory that was supposedly available for complimentary upgrade if the hotel think they can sell the room/suites.
And even when the apps shows the hotel have entire line up of rooms/suites available they can still refuse to upgrade the elites by claiming the inventory on the apps is not up to date.
(Some people did believe this lies ... excuses ... completely, however one must wonder if the in apps inventory is not synced with the actual hotel inventory, then how come we never hear elites got walked from the suites they booked due to this issue? Mind you we have quite a number of elites posting here)