Sitka is also a port of call on some sailings. Port time is enough to get off and walk around in these towns. If time is not a limiting factor, you might break up the voyage with a stopover at one of the Inside Passage ports. Breaking up your voyage adds only a few dollars to the ferry fare, but hotels ashore increase the total trip expense. Ferry travel is not cheap.
Many passengers sleep in the lounges or camp on the aft deck.
If the costs were addressed rationally, we would all stay home. But Alaska should be on everyone's adventure travel wish-list, and a ferry trip adds to the experience. Some travelers drive to Prince Rupert, British Columbia, then take the ferry to Haines or Skagway, or vice versa. Or you could take the British Columbia ferry from Port Hardy on Vancouver Island, land in Prince Rupert, and there board an Alaska ferry, or drive inland and then up into Yukon and Alaska. Beginning this summer, there will be ferry connections from Seward and Valdez to Juneau, then after a layover, another ferry to Bellingham.