I've heard fabulous things about Disney when traveling with a child on a cruise. They're also pricey, though. If they're out of your budget, just about every other mainstream cruise line has a kids program now.
I'd say the only real con is the small rooms. They can be very small to manage and you won't have a tub to bathe your 3 1/2 year old (only showers, and small ones at that). However, the idea of going on a cruise is to not be in the room all day, so it's not a huge issue.
Also, you may deal with seasickness in certain travel areas. For instance, the areas outside of San Francisco is known for being rough.
The pros: Fun activities, great shows, shore excursions, lots of food options, not unpacking at different destinations (easy travel), relaxation, friendly crew.
Have fun! You might check the site Cruise Critic as you get started researching this. It's a very useful resource, especially the boards.