I think the struggle for most is to find a good TA. I thought I had one when I booked our Eurodam cruise. I did all the leg work and the put the cabin on hold through HAL. I then contacted the TA, who was referred by a friend and asked him to better the deal. I asked for onboard credit and he gave it (it was actually a priced is count ~ I was fine with that).
He was VERY responsive, and i thought I had finally found a good agent. A few months later, we wanted to book another cruise .... this time I emailed him with some preliminary questions on booking options. He never responded. I followed up several times and he replied once to tell me he was very busy. I never heard from him again. I guess he figured I wasn't likely to book two cruises in such a short period of time, and was just wasting his time. His loss.
I found another agent now that I think I'm happy with. Her service has been good, but we'll see if it continues through to our next booking.
If you find a good TA, hold onto them!
It's sometimes easier to call the cruiseline directly (Someone always answers the phone!) and they can give you immediate feedback as to availability (websites don't always provide this). All you have to do is ask them to put the cabin on hold ... and then you can have it transferred to your preferred TA.