I may be mistaken, but my understanding is that there are limits to the size of boats that can allow passengers off. I think a boat with more than 500 passengers is not allowed to have people step on land, which is why the large ships are drive by only.
Its not a firect correlation, but in order for the cruise line to make money, if they are having people step on land, they need to have less people, and therefore it is more expensive per person to get that experience.
There's more to it, bit the short version is that the trips that let you step off the boat are going to be $$$.