I booked my flights just last week, 1-31 for my cruise in April. On 1-4 they called to tell me that the flights had changed. The flights are basically the same but this isn't the first time this has happened to me. I always plan to fly in the day before the cruise. I also plan to stay over the night we come back. This way I don't have to worry at all about those all to often flight and/or cruise ship delays.
Booking flights about 4 months out seems to be the norm unless you want a flight during a holiday period.