Cruisecritic.com is the Answer
All of the OP's questions can be answered in great detail over at cruisecritic.com In fact, log in and post specific questions; there are boards for all the major cruise lines that serve Alaska.
This is especially true of the shore excursion question. Check on the Alaska port of call board for suggestions. If you see a shore excursion recommended that you like, book it ASAP. Many of the favored operators are small which means that they don't have the capacity to do business with the cruise lines. This also means that the good ones book up fast; cruise critic posters are pretty aggressive when it comes to reserving what they want.
CC also has a broad assortment of reviews of the various cruise lines and ships including information on food, entertainment, children's programs, etc. It is helpful to consider all of these since the good in one area may more than balance a lower rating in another aspect of the cruise, or vice versa.
Incidentally, in terms of any cruise line/ship not being as good as it used to be, it is almost a sure bet that there will be one or more posts to that effect on CC. Take those posts with a grain of salt. Look for the balanced reviews that point out both the good and the less good of a cruise line or ship.
In terms of the best time to cruise to Alaska, mid-summer is probably best. Early season, such as May, there still may be ice in the water around the glaciers, and your ship may not be able to approach them as closely as she might later in the season. We encountered this when we took an Alaska cruise at the end of May. At the other end, one needs to remember that Alaska is a temperate rain forest. In other words, the chances of seeing rain many days is very real. (Ketchikan has a "liquid sunshine" gauge at the dock. The average annual rainfall is 180 inches per year; that's a half inch per day). The chances of rain increase even more from mid-August on into September. It is a probability thing; our first AK cruise was the week after Labor Day and we had one rainy day.
Booking directly with the cruise will give the highest (list) price. There are some discounts in the form of on-board credits available when booking with one of the on-line agencies. However, some of the cruise lines are really limiting discounting so the advantages relative to booking through a local TA are usually not great. That is even more so with a complex decision like an AK cruise where having a local voice to talk with may be of great value. With the announced reductions in 2010 AK cruise capacity, I would expect prices to go up as the ships fill; if prices happen to go down, one can get a price reduction if one catches it.
Art