This is correct. TAs get very little commission on airfare, sometimes none at all depending on the airline, so it's not unheard of to have a ticketing/service fee for flights. They are doing the work for you.
Can't get your seats assigned with the airline? The TA can...another thing they don't get commission on.
You got a price drop on a cruise? Great, now the TA/agency makes less commission on the product, so in effect is now making less on doing more work. It's not unheard of to have a small fee for making a change or doing a price drop.
You cancel your trip? Ok, now the TA has to call every supplier and put the work into getting your your money back and invoicing the refunds...also not making any commission anymore because your trip is cancelled now. I understand this $100 cancellation fee.
So much work TAs do is not paid for, including travel research, being on hold for sometimes hours to fix or rectify one small thing, dealing with flight schedule changes or cancellations...the list goes on. If I had to pay a $150 deposit to have a complex itinerary worked on, I would, because I don't want to do that myself, and otherwise it is free labour.
And like @CDNPolar said, the cost of the cruise is the same to the client, so why not give that $ to someone who is working for it on your behalf, rather than the cruise line itself?
TAs provide a service and like any other industry, they deserve to be paid for their time and work that goes mostly unseen by the general public.