I was on a cruise that switched from Villefranche to Cannes at the last minute - due to weather. It is only about 5 miles more in distance to Monte Carlo. The unfortunate thing is that the tendering pier we used wasn't that close to the center of Cannes (1-2 miles).
The location in Villefranche is much more interesting and to the close train station. I am also on a cruise this summer (RCI) that stops in this area and I hope we don't get sent to Cannes.
In terms of the reason for the switch it could be based on traffic. See this link to get an idea of what the harbor is like in Villefranche: