I'll share with you my knowledge of passports as both a TA and a traveler.
First off, for a closed loop cruise (one that begins and ends in the same port) you don't absolutely have to have a passport. For adults a valid drivers licenses and a valid birth certificate can be used. for a child a valid birth certificate can be used. I say valid birth certificate because the rules on birth certificates changed and it must list both parents names even if one is listed as unknown. It also MUST have a raised seal!
The thing is, if something were to happen on the cruise, some one got sick and had to leave the ship, a missed boarding, etc to re-enter the US other then on the cruise you need a passport!! There are US consulate in the carribean that will help you but you will have to pay for the passport through them and they are only good for a short time!
Next, I would really, really check that DH's passport hasn't expired! Adult passports are good for 10 years! Children's are less!
You can fill out the paperwork online,
http://travel.state.gov/passport/get/get_4855.html, print the paperwork out and then you will need to find a local post office that does passports!
http://iafdb.travel.state.gov/ Call the post office before you go because they usually have hours that they do passports! They don't do it all the time!
You have plenty of time!!! You will not have to have them rushed at this point! It takes less then a month from when you send the paperwork in to when you get the passport in the mail!
The U.S. Passport Card can be used to enter the United States from Canada, Mexico, the Caribbean, and Bermuda at land border crossings or sea ports-of-entry and is more convenient and less expensive than a passport book! I think $40 vs over $100!
Hope this makes sense and hope it helps! Feel free to ask or PM me if you have anymore questions!