Sorry to hear that your cruise was cancelled. True Carnival knew the storm was coming. They were monitoring and keeping in touch with the various port authorities. They had no way of know that the Coast Guard was going to close the bay. The bay being closed does not happen often. Carnival had no control of this. This was done to insure the safety of ships, cargo, crew and in this case passengers.
As Murray stated, Carnival did not have to do anything so giving you a 25% credit for a future cruise is not bad.
Now as to the refunds you were told you would get. The parking fees, you can't hold Carnival responsible for not getting your parking fees refunded on the spot. They do not run the cruise terminal. Carnival has a contract with the Port of Baltimore. So just send it the request and you will get a check period. As far as Carnival covering your dinner tab, again they did not have to do that. Did you expect just to be handed $30. Again, just send the information and you will get refunded. If you ran a business and offered to cover someone's expenses for something, would you just give someone the money without any proof of the expense. Hopefully you said no to this. So don't expect Carnival to do it.
Enough said! It is your choice whether you decide to book another cruise and experience the fun. Booking a cruise during hurricane season and unfortunately having the cruise cancelled is the chance you take. Just remember this storm is not just your usual hurricane. The size and impact of it will so widespread.