The answer kinda depends on what cruiseline you're referring to. Princess and RCI both have very good programs for booking onboard and getting some extra goodies for doing so. With that said, if pricing is very attractive for early booking and there are early booking incentives you may come out better than waiting and taking the chance that the rates will climb to get the onboard booking incentives. If it's a line other than the two mentioned above froget about booking onboard, there is no up side and losing the early booking rates could be costly.
It's really hard to answer general questions with specifics as each line and even each cruise can have different promotions, advantages/disadvantages. Princess has the best onboard booking incentives of any line. They don't actually book the sailing but sell you a future cruise credit you can use toward any ship and sailing date.
You can also sometimes combine incentives. Book onboard, then see if one of the agencies that run promos like onboard credits for booking a specific sailing or block rates they buy and get better rates than the cruiseline offered for the sailing. To get the incentives combined you simply call the agent/agency that offers the pormo to verify it's combinable. Then call the cruiseline and have the booking transferred to that agent. Your onboard goodies stay and now the agency with the promo gives you more goodies. I do it regularly for clients. In fact with the bookings done onboard, they save me so much work I don't mind giving some goodies even if the company doesn't have such a promo (if the booking is sizable enough for me to eat the wine, choc covered strawberries, onboard credit or whatever). This wouldn't work on a $299. pp 4 day cruise. There is not enough in those for an agent to eat anything. If in doubt, call your agent and ask. They'll appreciate the call and opportunity.