I agree with LaneJudy, given your plan to stay an extra day before and after, a rental car (or two) would give you the most flexibility. If you choose to go that way, price it out two ways, one way as a single rental for the whole trip, the other as two one-way rentals. This is what we did, and though it was an extra trip to the rental agency, it saved us money overall. Most agencies don't charge extra in Orlando for one-way rentals, we picked up the first car at MCO and returned it near the port (and then free shuttle to the port) and then caught the free shuttle from the port to the rental car place and then returned it the next day at MCO.
We loved being able to go to restaurants, stop at a grocery or liquor store, etc. My BIL's suitcase broke on the flight out, so he drove over to Target the morning of the cruise and bought a new one. That would have been harder without a rental car.
First thing you have to decide is what you want to do, activity-wise before and after the cruise. You mention Cape Canaveral on the back end, so maybe stay at a Coaco Beach hotel for that leg. So maybe stay at an Orlando hotel before the cruise. We stayed at Staybridge Suites
Staybridge Suites Orlando Airport South before the cruise. It is near the airport, it has reasonably priced suites, so you have a bedroom and a living room with a closeable door (a big plus when traveling with kids). It was $121 last August when we went and had free Wi-Fi and a nice free hot-breakfast. (Make your own waffles!)
On the way back, we decided we didn't want to push ourselves with a day a one of the theme parks (plus 1 day is VERY expensive, compared to week-long prices), so we did the next best thing, Hyatt Regency Grand Cypress. The hotel was a bit farther from the airport (like 10 miles) but we weren’t in a hurry. It had fantastic swimming pools, open 24 hours a day (exercise room open 24 hours too), some of them heated, plus a slide, and from 8AM to 7PM they had free bicycle (including 2 and 4 person Surry bikes), and free boating options (Canoes, Kayaks, paddle boats, Aquabikes, etc.) Plus, we got a room facing the pool on the 11th floor where we could even see the Disney Fireworks at 9 PM and 10 PM. They even let us check into our room at 11:00 AM when we arrived! It was such a relaxing alternative to trying to cram in a day that the theme parks. This one did cost more, $220, but still a lot less than the theme parks would have been.
Just giving these as examples. There are SO many choices in the Orlando area, they are bound to have something that appeals to you and your family!