Bahamas-- super expensive. $USD or higher.
Cozumel-- nice and cheap. All-inclusives especially rock.
Both have great friendly people. You'll get the experience of a different culture in both locales. Bahamas still has a lot of British influence mixed with Bahamian influence. Cozumel, well, is a lot of Mexican. You can have a good time in either place. As for the American invasion, well, both places are going to have it. Just comes with the territory, as both places are close to the US.
The diving in both places is nice. Daniel's analysis is spot-on. Perhaps decide 1. How much money you want to part with; 2. What you want to see.