The other thing to check is if ALL fees and taxes are included in the on-site quote. A lot of times they aren't until you get to the actual booking - and that can add up to more than the $300 depending on the cruise.
I normally check the prices at several sites then contact a TA and ask them if they can beat it - normally they can - either way it's never a good idea to buy from the cruise company website (like paying sticker price for a car).