It would be nice to have new ports to see but there are many factors involved in going into a new port. The biggest is probably infrastructure. Many islands can only handle a small ship like Windstar or Regent sized ships. Is there already a port there? Is it a developed port? Is the harbor deep enough or wide enough? Are there already docks or would they have to tender and how far out would they have to tender? If they had to tender, then consideration for how long they could be in the port and how long it would take to tender all the people. Would it be worth the stop? If there are docks are they big enough for the size of ship? Will they be able to refuel if necessary, bring in supplies, offload waste, make minor maintenance? Environmental concerns?
Can this port handle 3,000, 4,500, or 6,000 passengers? How far is the port from the major town/city, what kind of logistical support will there be to get passengers to the town/city? Taxis, busses? The cruise line would have to verify the maintenance, licensing, and insurance, to ensure passenger safety. What does the island offer for shopping, restaurants/bars, beaches, shore excursions? Contracts would have to be made with all the shore excursion operators and same safety issues to be verified.
If a port is already established then there are the scheduling problems. What day will my ship be able to come in and how long? How will that day fit in with the rest of the itinerary? How long will it take to get to that port from the previous port, and how long to the next port to fit in with the itinerary? Will adding this port fit into a 7-day, 9-day?
I know many wish the cruise lines would sail more out of Norfolk, Boston, Baltimore, Philadelphia, Los Angeles, and some others. Lisa mentioned the new environmental provision in Boston which is one reason Carnival is pulling out of Boston. Carnival pulled out of Mobile, and Royal Caribbean pulled out of Los Angeles because the ships weren't bringing in the revenues in that market.
The cruise lines must have an enormous team to figure all this out.