All US citizens, regardless of age, will need a passport by the time of your cruise. Our son got his first passport when he was 9 months old, and as kids' passports are good for 5 years, he was nearly 6 years old when it expired. We were never questioned about the photo. If you looked close enough, you could tell it was the same child -- the main difference was that he didn't have hair in the photo.
Getting it sooner rather than later is best, as many people will be scrambling to get passports at the end of this year.