I pretty much agree with Smellincoffee's assessment. The two possible purposes of the embargo - to potentially weaken the USSR and to remove the Castro regime from power - are clearly no longer applicable, since the USSR no longer exists and it's a clear failure at removing the Castro regime. Even if you go with the theory that it should have been kept around in the early 1990's in the hopes that Castro would fall without the USSR's help, it's been clear for more than a decade that that wasn't going to happen. At this point, the only regime it's helping politically is Castro's, and maybe Obama's a bit in south Florida.
I'm of the opinion the U.S. created or greatly exacerbated many of its problems with Cuba. Castro clearly was socialist and Marxist in his tendencies regardless, but he also showed a clear willingness to work with the U.S. before the U.S. started exhibiting hostile policies. With a less fanatical anti-Marxist approach, the U.S. may have been able to maintain at least respectable relations, and avoid the hugely pro-USSR position Cuba adopted and likely the Missile Crisis as well.
Of course, it doesn't help that the U.S. had clearly supported Batista in the '50s. Hard to put yourself on the right side of the fence after that one.