I have been on Carnival and Royal Caribbean.
I won't do a Carnival cruise again. Being from the UK (British) we found that we were treated like third rate citizens and on most things were an after thought. Everything was for the Americans and we had to fight to get information out of people. The real problem with this was when disembarkation day came. All American guests had their information and tags and where to be and so on. The few British (around 75 people) on board had no information and when asking crew for answers you got something different from everyone you asked. It made the whole holiday a shambles and it fealt that we were not welcome on board and were a burden on staff. It may have had something to do with Virgin Holidays organising it and getting discounts (not passed on to us.
So that experience has tainted my view of Carnival Cruises. Where as on RCCL we found that everyone is treated equal and like first class passengers no mater on cabin grade.
This is just my opinion (and my Wifes and the other British people felt the same) and could have been a one off cruise experience but I wouldn't want to risk it again for the price I paid.