This will be my first time to take cruise, and I plan to be able to stop at as many real Caribbean islands possible, not like Miami, Mexico which a lot of cruises will stop for too many times. I am here to ask for some wise advice from traveller friends who are experienced.
To get the best deal, I recommend cruising during the "off" season (before and after school summer months, not during spring break or other holidays when more people are traveling) and purchasing your cruise 1-2 months before the cruise sets out. Usually, cruise lines are trying to sell out their last rooms when it's that close to sailing dates. This means you'll have to be really flexible with your dates. Also, you need to be sure you want to go on the cruise on those dates when you find the deal, because you will most likely not be able to get a refund once you purchase the cruise so close to the sailing date. Check with the respective cruise line you're looking at for their refund policies.
I went on a 5-day cruise earlier this year during the last week of March with Celebrity Cruise lines (owned by Royal Caribbean), where we sailed out of Puerto Rico and went to St. Kitts, St. Martin, and St. Thomas. We purchased our cruise in mid-February. We were able to get a concierge class room, which includes a balcony and some perks, for $650 per person, when normally it can run upwards of $1000-$1200 per person. We were also able to get a deal where we got $150 free onboard credit per person. They usually have some sort of deal like that, where you can get a free amenity like drinks, onboard credit, wi-fi, etc.
Also, check with a travel agent. For some reason, travel agents tend to get great deals with cruise lines for their customers, or at least get perks you can't find anywhere else. And it's typically free for you to use a travel agent, so it's no additional cost to you.
Also, if you're sensible with credit cards, you may want to check into opening a credit card with travel perks that can help save money. I'm not one to typically open a bunch of credit cards, but I opened a Chase Sapphire Preferred, and I was able to use points towards cruise excursions, which helped save money. ALSO, Chase provides trip insurance on certain cards if you make your travel purchase on the credit card. My mom went with me, and she was sick the week before we were supposed to leave for the cruise. Chase assured me that if she were sick and were not able to go on the trip, she would just need to provide proof (from a medical professional), and they would refund the travel expenses up to $5000 (I think that's the amount?). She got better and we ended up being able to go, but that was assuring to me to know I wouldn't lose all of that money I had just spent for the trip. Cruise lines offer insurance, but you pay extra to get it and only get a partial refund for a future cruise (or at least Celebrity). Chase will refund EVERYTHING, up to a certain point, and you're not confined to use it on a future purchase or to rebook. It's just a refund, from what I understand.
Anyway, hope this helps!