We recently went on our third cruise.... not experts by any stretch, but it's been enough to see a huge difference in how different companies feel about food allergies. Not all are organized the same or even at all to accommodate those of us on "special" diets.
If you're like us, you choose your cruise based on what's available in your port of preference and that may be all of the biggest and best or it may be the lesser known flags. We have been on Costa boats twice now simply because they're so easy to access here in the eurozone and have plenty of long weekend options outside of the busy summer months. The other cruise was on Royal Carribbean as it was moving towards Venice to be renovated and we wish that there were more of those to be had locally during the off season.
Our experience with RC was wonderful. All of the food, whether on the buffet, in the dining room, or at a cafe, was labeled for food allergies. The staff recognize allergies as being serious and were quick to accommodate us.
On Costa, we let them know about this when making our reservation and were told to let the maƮtre d' know when we arrived at dinner. No buffet food is labeled and anyone who has an allergy must eat in the dining room at whatever seating hour you're assigned (we were assigned dinner at 9:30 pm).
At dinner on the first night we let them know that 3 of our family of 6 could not eat gluten. We didn't see any food for about an hour while they brought out food to those eating gluten. The only bread on the table contained gluten and we were charged for a bottle of water that we didn't want. There was a massive amount of confusion among waiters that seemed to think we were being unreasonable. (Trust me, they didn't want us to eat the gluten!) We finally ate a very late dinner and left the dining room feeling annoyed at the entire situation.
When we returned to the dining room for breakfast the next morning (only dining room meals for passengers with allergies), we were told we had to show paperwork from our doctor proving our diagnosis. Only one of us had that documentation, but they "let" the three of us remain in the roped off gluten free area feeling like the sick cattle being cut out of the herd because they said there was enough room "this time". Otherwise, I would have had to eat alone and the others not eat at all. Do they not know what they're risking?
Fortunately, with a significant amount of hassle, we were moved to another seating for the second night forward and assigned a waiter that knew about food allergies and didn't have further problems for dinner. Breakfast and lunch still must be had in the dining room. No quick meals for us at the buffet as we had done on RC! But this being the second almost identical experience on Costa, and by comparison to Royal Caribbean, we decided to try to avoid Costa in the future.
I can't speak for any other companies, since these are the only two I've experienced, but I will say, eating -or not eating- can be key to having a good vacation or a bad one. If you have food allergies, be sure to check on how they're handled by the company you're considering. It could save you a lot of hassle and make or break your next holiday. Whichever you choose, I hope it goes better than our last choice! ;)