You can book any of the three ways but I always use a travel agent and
get the insurance so that if prices go down or they run a special I can get that rate as long as its before final payment so I was told. If I understand that correct.
If you are not happy with something and are using a travel agent you can just stop in to complain or call them on the phone.. lol
I always book so far ahead of time like almost a year that I for the most part get the best price for my cabin unless they run a upgrade special.