Shopping is convenient is both places -- the shops have sprouted up near the all the cruise terminals. In Cozumel, you get off the sip and are literally forced to walk through a mall to get to the taxi line. There are nicer shops lined up and down the main drag there. I bought some very pretty Christmas ornaments and some silver pieces. They also have lovely glassware. I also picked up some great t-shirts for my nephews. They were 2 for $9, and because I bought 6 shirts, I asked if I could get a better deal so they threw in another one for free. I am told that the jewelry there is very nice; I am not a "jewel girl" so did not go into any of the shops.
We did not spend much time shopping in GC bc everyone told us it was expensive there.
Hope this helps.