Why does Cuba let the U.S. keep a military base on its soil?

The short answer is that the United States got a really great lease on Guantanamo Bay. In 1903, Cuba signed a treaty agreeing to lease the harbor to the American government for $2,000 in gold coins annually. The treaty indicated that the United States could only use the 45-square-mile area as a naval base and that Cuban trading ships could pass freely through it. In 1934, the countries renegotiated the lease, but this time with fine print stipulating that the agreement could only be terminated through mutual consent from both countries. That's the kicker. Because as long as the United States wants to keep the base, it remains in American hands. Needless to say, Fidel Castro is pretty irritated by the arrangement. In protest, he hasn't cashed an American rent check since 1959.