If you can ONLY do before or after, definitely do before!
However, our 4 day cruise is Mon embark and Fri debark, and so we are flying in the Fri prior, going to parks Sat & Sun, cruising Mon to Thurs nite, getting off the ship Friday and going to Sea World and then Busch Gardens the Sat after, (2 Disney days before cruise, 2 Seaworld park days the weekend after) and then flying out on Sunday. Seaworld and BG have a combo for $99 one day at each park until May 15, so that is perfect for us, it's almost a 2 for 1.
You can really wear your feet out at the parks, so I like to do no more than 2 parks days and then relax on the cruise. And nothing starts out your awesome trip like the Wishes or Illuminations Fireworks the night before embarkation! BUT like PP said, really the best way to leave the ship is knowing that you are running to the parks! So I like what I call a Cruise Sandwich. Planning is a little trickier, but who wants to fly home on a Friday? So we are staying BOTH weekends, before and after. And then, I'm sure we will REALLY be ready to go home.