I am not a huge cruise fan. I don't dislike them but, if I had my way I would choose other vacation choices. That being said, with little snags in tow I would go the cruise route.
#1 Stay away from Carnival...they are shitty shitty. I would go Royal Caribbean and do Eastern Caribbean, you have to fly to Puerto Rico but the island destinations are much much better.
The Western Caribbean which I have done leaves from Miami. You are going to hit Labadee (Their private island) nothing to do but snorkel and sun bathe, Jamaica (Dun's River Falls is great for the kids), Grand Cayman, and Cozumel. Grand Cayman is Shopping and Beaches, Cozumel is drinking, but for little Snags I would recommend the 4 wheel adventure, where you get a shitty beat up wrangler that you get to ride on a beach then have a mexican fiesta and beach trip.
Plus with the cruise little Snags is old enough to have run of the ship, you can let him run off and do his thing and y'all can chill and sip Mi-ties. My $.02.
Really with kids you can't beat it...they have the kids clubs, basketball, rock-wall climbing, wave pools. For the adults gambling, clubs, drinking. The Royal Caribbean Ship I went on while huge (5000 guests) will blow away Carnival.
I did hit up Punta Cana, Dominican Republic. There were kids there, but I don't know how much fun he would have. It is pretty much drinking and sun bathing. You don't leave the resort. Chillaxing!