I don't like to buy shore excursions in advance either but in some cases that's the only way one can be sure they'll get the one they want. As I mentioned, I prefer the way Princess does it as one can easily cancel any of those on board without ever being charged if they are a day ahead of time.
Frank