As a Houstonian for the past 5 years, and frequently traveller to the city who spent many nights at the Marriott at IAH, I can tell you that is not a very nice hotel and I would really recommend a change if you can.
As mentioned by the prior poster, the area near the airport is more industrial, not close to much in the way of food, etc. You can stay at many nicer areas for the same amount of money, and have a better impression/experience.
I think it might be nice to make your way to Galveston earlier, that way it would be nice and convenient for you to get to the cruise ship. If you are interested in staying in a more urban area, I echo The Galleria.
There are some equivalently priced hotels (Aloft, Hyatt House), some convenient (Westin in the Galleria mall), and very nice JW Marriott.
The galleria has tons of shopping and eating
http://www.simon.com/mall/the-galleria
Houston has some other areas as well that are urban, yet residential like River Oaks, West University (close to Rice University and the medical center, the largest in the US), that would leave a favorable impression and be close to eating and entertainment.
The Astros are in town, and a baseball game is a great way to spend a night. It is a beautiful stadium with not a bad seat in the house (though many empty ones!)
If traveling with kids, check out the children's museum and the Zoo. They are both very nice size. Depending on what you decide to do, the City Pass
http://www.citypass.com/houston might be something you find a good bargain.
If you want some more specific advice or ideas, send me a private message. Call me the goodwill ambassador in Houston, wanting to make sure our visitors have a nice time ahead of the cruise!