In general, it is better to pay cash for a cruise than use points. The pricing is pretty much uniform no matter how you book, but depends on how far in advance and how empty the ship is - prices can literally change daily.
A lot of TA's offer onboard credit (which is so easily used!). Costco offers Costco cash cards I believe.
The best price on a cruise is booking on a previous cruise! So if you are thinking of one of the big expensive ones, might be worth it to do a short one as far in advance of that as you can!
We've found that at the end of the day, a cruise can be just as affordable for us a WDW vacation. Since everything except mainly alcohol and excursions is included, it's actually a pretty good value, but YMMV of course!