I haven't been to Cozumel on the Magic, but I have been on other ships. There are two international piers, one is closer to town than the other, both have a shopping "mall". When you walk off the ship, down the concrete pier (1, maybe 2 blocks), there is a pretty decent sized "mall". They deal in US dollars, no bartering. They have perfume, liquor, jewelry and Mexican "stuff" (hats, marble trinkets, etc.). If you exit the mall on the other end, there are tourist stands/stalls set up where the locals sell jewelry, t-shirts, all sorts of stuff. You can barter with them - walking away gets the best price. There is also a Fat Tuesdays restaurant on one of the piers (I think that's the name). I don't remember a restaurant on the other.
You don't have to go into town to get your gifts!
Diana