I send my granddaughters a post card from every port of call. The only Caribbean place you can use US Postage would be San Juan. But buying stamps is easy. Just take your post card once it is complete to the pursur's desk on board your ship (guest relations desk) and they will sell you stamps for the port you are in that day. As long as you get it stamped while you are still in that port, they will mail it for you. Just ask if it will go out that day. I have tried to buy the various countries stamps from guest relations in advance of the port stops (just returned from Europe) but they would not sell them in that manner. Also, each stamp was $1 last time for each European port and I had to pay cash. Previously, I had to charge stamps on our ship account and the price was more compariable to our everyday prices; i.e. 55 cents, $1.25, etc.
Now to the second part of your question, will the cards get to the USA address before you get home, probably not! Maybe if you mail one on the first two days of your trip you will have a better chance!
You can use US postage on St. Thomas, St. John and St. Croix, in addition to San Juan! For non-US ports, it's easiest to buy your stamps onboard and let the ship's staff take care of getting them to the post office.