When you fly from a country and land in the US in transit to your destination, you may change planes or not--but your baggage and you have to go once again go through US security. If you are flying from Canada south to the Caribbean, you may land in Houston, Atlanta or Miami, on your way. Because of this extra time required to redo security, you will may miss your connecting flight. Or your flight will be held until you get there, and you get on a plane full of very angry people.
I now look for ways to avoid flying into the US, not because I don't believe in security, but because US security is now so difficult and takes so much time.
I would appreciate suggestions about direct flights from canada to the caribbean or central america which avoid transit through the US, aside from Cuba.