With the collapse of the Soviet Union, it's subsidies to Cuba ended, reducing Castro's ability to support communist uprisings in other countries. If the embargo ended today, would Castro use the money to feed his starving people or to export revolution in other countries? The answer is obvious and an excellent reason to maintain the embargo as long as Castro is in power.
Now that the Cold War is over, we may disagree on whether continuing the embargo is the best way to achieve our goals. However, the argument that the embargo should be ended for humanitarian reasons is misplaced. The Cuban people aren't suffering because of the embargo, but because of Communism. The Cuban government distributes food and medicine to the ruling elite, while the people struggle to get by on rations and whatever they can afford from the black market at high prices.
The current embargo is primarily on sugar and tourism, while allowing medicines and food-aid directly to the Cuban people. So for humanitarian reasons, we have already partially lifted the embargo on private aid that circumvents the Cuban government.
Lifting the official embargo would not permit American corporations to do business directly with the Cuban people. The Cuban government will not allow that. Instead, the Cuban government wants to act as the middle man. The Cuban government gets paid in dollars and "pays" the workers in worthless Cuban pesos. The arrangement is profitable for everybody involved, except the Cuban workers it was supposedly intended to help.