Lots of folks buy excursions ashore. Many of them are exactly the same as those offered by the cruiselines, and sometimes from the same vendors. And some folks book tours with independent vendors over the net (or by the "old fashioned way, phone or letter!

)
And some are *better*, as they're smaller companies, which cater to smaller groups, so you're not so crowded.
There is the risk, of course, that you get to the shore and the excursion you want is sold out, so if there is some that you *absolutely must do*, then it might be better to book it in advance.
The other BIG risk to booking outside the cruise line -- if you aren't careful about the time, and the tour you're on gets back late -- you could miss the ship! The ships will wait for cruise groups from their organized tours, but not from the independents!
In some ports that's not a big consideration. We'll be in a couple of towns from very early in the morning to late in the evening, and there's plenty of time. But for others, you need to watch.