Mahogany Bay is a Carnival created port on Roatan. There is a nice shopping area, and a lovely beach. No need to go anywhere else.
Costa Maya is another port created for cruises. Nice shopping area, pool and small beach area by the pool, but you have to buy something from the restaurant to use the loungers. Is it the Ports of Call boards here for more options.
Cozumel offers the most opportunities. There are three pier areas, one used by the Carnival family and occasional others, one by Royal and her group of lines, and the downtown pier with NCL, MDC, Disney. It seems you will be on a Carnival line so you will dock at the Puerto Maya pier. Next door is the International pier. Each have their own extensive shopping areas. The third pier is Punta Langosta and is right downtown with more stores and restaurants. Again, suggest you visit the Ports of Call boards for more options in Cozumel. EM