Agree with all that MastaHanky has advised and will only add that some ports of call such as Belize the cruise ships anchor offshore because of a reef and tender you to shore which can take up some of the time for your port of call stop.
Also I did some research on Cruise Critic and found that the day my Holland America cruise in January '12 stopped in Belize there were, IIRC, 5 other cruise ships all in port at the same time making it harder to find availability through a local tour company so I opted to book onboard.
As with much regarding travel there is no hard & fast rule that applies to all travellers in all situations so you have to find what works for you. Happy sails!