Ah. The Jones Act also specifies that all ships traveling between American ports must be (1) made in America, (2) registered in America, (3) owned by Americans, and (4) crewed by Americans. The consequence is that the market can't actually bear passenger travel between American ports. So there isn't any. At all. Hasn't been for decades. Unless you own and sail your own boat, you can't get there from here except by air.
Weird - and definitely an unintended consequence. The Puerto Ricans are quite aware of it. But as long as shipyard labor on the East Coast continues to support protectionism no matter how meaningless, there will continue to be no passenger shipping to Puerto Rico.
I don't actually know - I never lived in those places. The situations are complex, though: Haiti and the Dominican Republic are very poor and might not have the market, and Jamaica and Cancun are further from the mainland, thus shipping would be disproportionately slower.
It might be interesting to look at when passenger routes died out. For instance, there is only intermittent ferry trade with the Bahamas from Florida, even though they're very close - but the market is marginal given the low cost of air travel right now. I would guess that passenger routes to Puerto Rico were eliminated before those to the Bahamas, but ... I don't really know. This is an interesting point - but wow, it would take a lot more research than I'm able to do in order to answer it.
Nitpicking: Cancun is closer to Miami than Puerto Rico by my reading of a map, and Jamaica is about the same distance if you consider that you'd have to sail around Cuba to get to it.
Weird - and definitely an unintended consequence. The Puerto Ricans are quite aware of it. But as long as shipyard labor on the East Coast continues to support protectionism no matter how meaningless, there will continue to be no passenger shipping to Puerto Rico.