Map from Google - Cuba

In Cuba, the climate is tropical, with a dry and relatively cool season from late November to mid-April, and a rainy and muggy season from late April to early November. The climate is fairly uniform from one area to the other, but there are some differences that are worth considering.
The annual precipitation is generally between 1,000 and 1,500 millimetres (40 and 60 inches). In the south, where the only mountainous areas are found, there is a greater difference between the north-facing slopes, which are very wet, and those exposed to the south, where precipitation drops below 700 mm (27.5 in) per year (see Guantanamo Bay).

Winter in Cuba is pleasantly warm in the north and even quite hot in the south, with daytime temperatures around 26 degrees Celsius (79 °F) from December to February in Havana, and around 28 °C (82 °F) in the southernmost areas. The rains are not frequent but still possible, and they are more likely on the northern slopes, which are also exposed to cold air masses coming from the United States. These brief cold outbreaks, from December to March, may bring some cool days, and a bit of cold at night, especially in the north-western part (see Havana, Varadero): sometimes in Havana the minimum temperature drops to around 10 °C (50 °F).
Here are the average temperatures of Havana.
Average temperatures - Havana
HavanaJanFebMarAprMayJunJulAugSepOctNovDec
HavanaJFMAMJJASOND
Min (°C)191920212223242424232120
Max (°C)262628293031313231292827
Min (°F)666668707273757575737068
Max (°F)797982848688889088848281

Cool air masses reach the southern side of the northwest (see Cayo Largo, Isla de la Juventud) more rarely, and even more rarely the south-east of the country, and especially the south coast (see Santiago de Cuba, Guantanamo), which is more sheltered.
In winter you can visit the cities and make excursions: the sea is warm but the sun is not always guaranteed, and air temperature is not always warm enough for swimming, at least for those who are sensitive to cold. However, in the south-east, as mentioned the coast south of Sierra Maestra is sheltered from the north winds, therefore in winter has a warmer microclimate, so it's usually nice for beach life.
Here is the average temperature of Santiago de Cuba, located in the sheltered southern coast.
Average temperatures - Santiago
SantiagoJanFebMarAprMayJunJulAugSepOctNovDec
SantiagoJFMAMJJASOND
Min (°C)212121222324252524232221
Max (°C)272727282830303030302928
Min (°F)707070727375777775737270
Max (°F)818181828286868686868482

During the rainy season, there's a muggy heat everywhere, which is sometimes hard to bear, even though it is tempered by the trade winds or the breeze. The hottest months are July and August. The daytime temperature rarely exceeds 33/34 °C (91/93 °F), but moisture makes the heat sweltering. The rains are often intense, but they occur mostly in the form of showers or thunderstorms on late afternoon. In July, there's often a relative break in the rains, especially in the south, when showers become less frequent (even though the heat is still intense).
Here is the average precipitation in Santiago de Cuba, on the south coast. We can notice the decrease in July, and the dryness in winter (because as we said this area is sheltered from the winds coming from the United States).
Average precipitation - Santiago
SantiagoJanFebMarAprMayJunJulAugSepOctNovDecYear
SantiagoJFMAMJJASONDY
Prec. (mm)301740701501305595150215100301082
Prec.(in)1.20.71.62.85.95.12.23.75.98.53.91.242.6
Days324610116911147386

In the northwest, in winter the rains are a bit more frequent: in Havana, from December to February, 60/70 mm (2.3/2.7 in) of rain fall per month, and it rains on average for 5 days a month.
The amount of sunshine in Cuba peaks in spring, when the winter disturbances decrease, and before the clouds and rains of the warm season. The minimum occurs in September and October, the months in which rainfall is more frequent. Here are the hours of sunshine per day in Havana.
Sunshine - Havana
HavanaJanFebMarAprMayJunJulAugSepOctNovDec
HavanaJFMAMJJASOND
Sun (hours)678766665566

In Santiago de Cuba, sunshine is a little more frequent, in fact there is one more hour of sunshine per day both in winter, and during the summer rainy season.
From June to November, it's the hurricane season; tropical storms and cyclones usually come from the east, and affect Cuba especially in the eastern part. The period in which they are most likely runs from August to October. Hurricanes are not frequent, but sometimes they can be destructive, bringing torrential rains and gale force winds, so this period is not recommended for those who want to plan a safe holiday. If it weren't for hurricanes, in this period the weather, though hot and humid and accompanied by showers and thunderstorms, would still be acceptable.

Havana

As mentioned, the sea in Cuba is warm all year round: in winter the water temperature is about 25 °C (77 °F) at Havana, and 26/27 °C (79/81 °F) on the southern coast.
Sea temperature - Havana
HavanaJanFebMarAprMayJunJulAugSepOctNovDec
HavanaJFMAMJJASOND
Sea (°C)252525262728293029292726
Sea (°F)777777798182848684848179


When to go

In theory Cuba can be visited all year round, but during the period from May to October, there'a sultry heat which is not the best for excursions; in addition, in this period the sun often shines, but thunderstorms in the afternoon of evening may be annoying, even though the greatest danger comes from hurricanes. Therefore, you can avoid the period from June to November, or make a last minute trip, so that you can take a look at the weather forecast in the days immediately preceding.

To visit cities and make excursions, the coolest period (December-February) is preferable, and in any case the dry season (late November to mid-April).
For beach life, the Easter period (late March-April) is nice throughout the country. In winter, sometimes it can be cool and cloudy, especially in the western and northern slopes of the island, so for swimming and sunbathing in winter the east is more advisable, and especially the southern coast of the south-east (see Marea del Portillo, Santiago de Cuba, etc). The south-east coast is preferable also in July and August, because it's less rainy, however, in this period the climate is characterized by an intense heat throughout Cuba, and there's some chance of hurricanes, especially in August.

What to pack

From November to April, in the north, Havana and inland hills: light clothing, but also a sweatshirt or sweater, jacket and umbrella; in the south-eastern area (see Santiago de Cuba): light clothes, a sweatshirt for the evening.
From May to October, lightweight, tropics-friendly clothing, possibly a light sweatshirt and a light raincoat for thunderstorms.
For the reef, equipment for snorkeling, water shoes or rubber soled shoes.