Hobby is actually much closer (about 40 minutes away), while Intercontinental (Bush) is about 90 minutes from the port. The other kicker is the cost of getting to and from Galveston from there ... it can run close to $200/pp r/t.
Southwest, AirTran, JetBlue and now Frontier are the major carriers that serve Hobby. American and Delta also have service, but it's very limited. With all but Southwest and JetBlue, you'd have to arrive the day before the cruise, since flight times don't coincide with the ships' departures.
We live in Houston, so we're pretty familiar with what's available, since friends fly in all the time to cruise with us. Have a great trip!
I would try Super Shuttle. They have always served me well, they operate in many states (if not all) across the U.S., are very reasonable and dependable. I've never had any issues and I believe you can even pay them up front on your credit card. Did I mention convenient?
Bush Intercontinental Airport (IAH) is quite a long way to the cruise ship terminal in Galveston. Hobby Airport (HOU) is MUCH closer, hands down. If cruising out of Galveston, you should always choose Hobby Airport, if possible.