I've done both lines and I think Carnival is much better. For starters, the food is much better on Carnival, especially the dining room and the buffet.
The personal is much more personal, since they have regular dining and not the freestyle dining. This way you are guaranteed the same wait staff which means they get to know you much better.
Also, they make dinner very fun by the singing waiters and other things they do to liven up dinner. NCL does none of the entertaining during dinner. You also get to sit with your same tablemates which in most cases is fun as you get to meet new people and get to be friends over the course of a week.
The entertainment in the main showroom is basically equal, but I feel the side entertainment in the bars and around the ship is a notch better on Carnival.
NCL definately has the best bathrooms, but rooms are a touch bigger on Carnival. Otherwise, everything else is pretty much equal!
All in all, I prefer Carnival, then Royal Caribbean if you want to compare cruise lines that are basicaly in the same class!