There are a few nice shops in the cruise terminal that you go through right after you exit the ship. You proceed on through the terminal and turn left and go a few hundred feet you will enter a big shopping area full of small shops in individual, thatch-covered structures. Be prepared to be hustled by individuals standing outside these shops for anything and everything. Just say, "No, thank you!", and continue your shopping. They will leave you alone. It's safe and reasonably clean.
Can't comment on Margaritaville. Didn't go there.