It may depend on when the roommate decides he can't go. If it's before final payment is due, he gets his money back and the remaining roommate's cruise fare is changed to a single occupancy rate.
If it's after final payment, but not yet within the 100% penalty period, the canceled roommate could still get some money back and it's possible the remaining roommate may owe more money. If it's within the 100% penalty period (usually 2-4 weeks before sailing) and the roommate's money is not refundable, then the remaining roommate can still go as planned but the canceled roommate doesn't get any money back, unless s/he had insurance. The cruise line will know the roommate is a no-show when everyone has checked in, so he'll still be considered a single at that point but no more money should be due from him, as the roommate's fare could be applied to the single's remaining amount due.
Does that make sense?