As a CM, finding something at the port was really our only option. Although, I only did it in Juneau (Skagway I went dog sledding and the train, but thats different again, and the only thing I did in Ketchikan was go to the lumberjack show and buy candy...)
In Juneau we did whale watching (I did that twice) and Mendenhall Glacier. In Juneau they have lots of stands where the bus drops you off, their all offering the same things, go to one and if you don't like the price or options, then next one will offer you something different. We found them good (in Alaska, never too dodgy like other ports). We were able to make it fit around us e.g, there's 5 of us, we want to go to the glacier, come back via
Walmart and we need to be back by... and Im pretty sure that was less than $10 each (as crew).
They offer things like whale watching, variations of dog sledding, glacier trips, wildlife tours, rafting, kayaking, pretty much anything, and you can find something for every budget. As long as you're not too bothered what you want to do it can be fun way to spend a day, but if there is something you definitely want to do, book in advance and pay the extra because you cant guarantee who's going to be there offering what on the day, or how quickly they might fill up.
There's not as many options in Skagway, I guess because its small, and I don't remember many excursions being offered, although we did try and find something at the info centre but there wasn't anything for our time frame, but there were quite a lot of options in Juneau and Ketchikan.