From Steve Rosenberg's Diving Cozumel:
I cannot find what makes the current reverse sometimes.
The dominant current flowing thout the Caribbean originates in the Sourth Atlantic. When the current reaches the Brazilian bluge it splits. About 40 percent of the flow moes along the north fae of South America and into the Caribbean Sea. This flow is called the Guiana Current. Because the earth’s rotation causes currents to bend clockwise in the northern hemisphere, the Guiana is flowing almost due north as it sweeps around Cozumel.
This large volume of water is severely constricted as it flows through the narrow Yucatan Channel which spans about 100 miles between Mexico and Cuba. This constriction results in the current reaching speeds of over 2 knots in the Channel and as much as 8 knots between Cozumel and the mainland.
I cannot find what makes the current reverse sometimes.