The problem with the dockside "vendors" is that they're not the actual tour operators - just brokers looking to take the ship's commissions as profit.
Here in Juneau, there are between 5 and 15 booths on each ship dock on any given day. Most of the booths carry the same line-up of "discounted" tours, and if you really know the local tour scene, you'll quickly realize that all the tours are the same boats, buses, guides, etc.
Any tour with limited capacity (smaller boats, airplanes, helicopters, vans, personal guides, etc.) is very likely to be booked in advance and not available via the dock kiosks. You will find plenty of availability for larger bus tours, group lunches, big boat tours, etc. Also, with the port times getting shorter, booking on the dock can be a big waste of time. Example: You have from 8:00 am to 1:30 in Juneau. When you arrive at 8:00, you walk up to a booth to ask about a tour at 8:30. By the time one of them settles on a price and tells you they've got the tour you want, it'll be 9:00. But the tour won't start just then... you've got to wait around until the 10:00 shuttle comes around, and the tour with any availability might not start until 10:30 or 11:00. If you had contacted the vendor directly and booked on your own or via the cruise ship, you would have disembarked at 8:00, and boarded the 8:30 shuttle for a 9:00 tour.
The "savings" found booking off-ship isn't always cash money either. A good example is a half-day fishing charter: book on Princess and you'll pay $199. For that, you get a 30 minute bus ride, 4 hours on a boat, and a 30 minute bus ride back to the ship. Booking a half-day fishing charter directly with at least 2 companies I know of gets you 5 hours on the water for $200 - you also have the option to book the boat privately and not share your fish with other guests.
Like I've said before, my favorite way to book shore excursions is to grab the ship's excursion booklet or web page for each port and look through all of the offerings to see what's available. For every ship's tour, there are usually several similar (or identical) tours available by researching online and contacting tour operators directly. Booking on your own is ALWAYS going to give a more personalized experience - knowing who you're going with ahead of time and having a chance to talk with them is always better than getting "assigned" to whatever boat/bus/plane/etc. pays the highest commission to the sales booth.
Happy Alaska Travels!
Better not for now... signatures get me banned!