My DD actually had her hair braided at the beach in St. Martin. We were completely swindled because the woman said the braids would be $2 each and that she would do between 15 to 20 braids on my DD. I left to grab something for lunch, leaving DD with her grandparents and the woman braiding her hair. When I returned she told me that she had done 31 braids the price was $62. I was SO MAD. You should have seen how teeny tiny these braids were. My DD is only 5 years old and she is small for her age, so this woman had to really stretch to make that many braids. Anyway, long story short... DON'T get your hair braided on any of the islands unless you can get them to agree to a price beforehand. I tried to do that and the woman said she'd rather not give me a price up front because she might give me a price that's higher than what she was actually going to do (yeah RIGHT).
I did see a lot of little girls with braids that they had gotten done on the ship. One mother told me that the price was the same as on the island - $2 per braid. I'm not sure about CC though..
MY DD's braids lasted a week in her hair, through washing and swimming, etc. I know that the woman who did hers used aloe or something to make the hair very slick so I think that helped keep it in. I'm not sure if the CM's do something similar on the ship or at CC.