As you mentioned, there are pros and cons to this. On the upside, you don't have to worry about missing the ship the next day, and catching up to it at your expense if you do miss it, due to airline delays, etc. Personally, I haven't done this, as my home airport is a hub for a major airline, and I've always found nonstop flights early in the morning down to the embarkation airport.
The downside is that yes, you are paying for a hotel in the embarkation city, but that may be worth it, as I mentioned earlier, for peace of mind knowing that you won't miss the ship. Yes, the money on the hotel could have been spent onboard, but I think that may be a small price to pay.
Do some research on the hotels in the area. Some hotels will offer a shuttle to the cruise port. Whenever I travel, I always look for Comfort Inns, owned by Choice Hotels
, as the rooms are okay, and the price is affordable.