Long-time vegan here who has cruised on NCL, Disney, Carnival, Princess, and Holland America multiple times and I can honestly say that I've never been wanting for food. As mentioned, you can either note your needs in advance with the cruise line or once you get on board with the maitre d' and they will hook you up. On some cruises we were assigned a special 'dietary agent' in the main dining room who would tell us all available options for the following day. More often, they would tell us as they handed us the menus what could be made vegan. Some items were obviously easier for them to adapt and others absolutely could not.
I've also been on cruises where they would make sure to have some individual portions of food waiting for us at the buffet for breakfast and lunch. I wouldn't automatically poo-poo that option either. I've also found at the buffet that they could typically verify if a certain dish was vegan or not (e.g. whether the rice was cooked in chicken stock). Otherwise, they have always been very quick to go check.
Overall, I think you will be pleasantly surprised to see how accommodating the cruise lines will be to meet your dietary needs.
Oh yeah, there have been many occasions in which none of the dining room menu items could easily be made vegan, in which case, the chef was given carte blanche to 'whip something up' and they rarely failed to amaze. I'll be on NCL in a few weeks and I'll report back on how things went.