We took the Marine Ferry in 2008 from Prince Rupert to Haines, stopping for four days each in Ketchikan, Wrangall, and Juneau. The cost for us and our TV and TT (38' total length) was a little over $1800 including 1 night's stay in a cabin. As has been said, it is the only way to see some parts of Alaska. The folks who work on the ferries are skilled at directing you on. The longest trip we had was from Wrangall to Juneau, 12 hours, and had no problem with what was left in the refrigerator with it turned off. We did try to use up anything really perishable before the 12 hour trip.
I would recommend doing it at least once. You can save a lot of money by getting on or off at Prince Rupert rather than Bellingham. The drive from Prince Rupert back to the states is not bad.