Roatan has some shops at the port and you can walk to a beautiful beach with chairs, etc. you will pay for food/drinks/rented water toys. You can go back onboard to eat free if you'd rather.
There are a few shops at the dock in Belize, but nothing else. We always book a water excursion there. It's worth it if you want to see the beauty of the country.
Cozumel offers lots of shopping, both at the dock and downtown by cab. We usually book a catamaran excursion offered by Fury and still have plenty of time to shop.
Have a great trip!