You have asked a very simple question that has a very simple answer.
Most cruise lines no longer allow TAs to discount cruise fares.
But that doesn't really matter very much.
The TA can still discount his commission - resulting in a lower overall price.
At the end of the day, it would be very easy for a cruise line to undersell the Travel Agents. But the cruise lines won't do it. We need the support of all those agencies, and our corporate offices are not set up to handle the millons of transactions the TAs handle on a daily basis.
You will rarely:
Get a better geal at the winery than you can get at your local wine shop.
Get a better deal through General Motors than you can get at your local GM dealer.
Get a better deal through the cruise line than you can get from a TA.
All for the same reasons.........