I have been to both ports, Costa Maya twice and Belize three times, the last time to Belize a few days ago.
Both are good jumping off points for taking tours to see Mayan ruins, tours to the countryside, etc.
At Costa Maya the ship docks. There is a good sized shopping area with a free pool right in the shopping area, there is an outdoor theater where they have free local folk dances twice a day, a beach nearby and a small village a mile or so down the coast if you want to visit that.
Easy off and on access with the ship.
In Belize, the ship has to anchor 5-6 miles off shore as there is no dock due to the shallow water.
You will take a high speed tender ashore to a small but fairly new shopping area. If you do not take a tour here, you can cover the shopping area in a very short time. This is a port where you would not want to take off on your own. The shopping area is closed off from the town and I would not wander around on my own. There are a variety of tours offered here to get you out and away from the shopping area. Belize is a very pretty country once you get away from the town area and into the country side.
If you intend on a tour then it probably wouldn't matter much which port you chose. If you want to get off the ship, shop, spend some time around the port, then Costa Maya would, in my opinion, be the better of the two. Keep in mind the tender ride to and from the shopping-port area in Belize. It take about 12-15 minutes in a high speed boat. This may or may not be a factor for you but just wanted to let you know about that just in case.