We've always gone with Royal Caribbean but are giving the Dubai cruise a go with MSC Splendida. We've heard they have upped their game and recent reviews have been good. Royal Caribbean will be a hard act to follow so will see.
That's a great price for 21 nights (though I have never experienced MSC's standards). It'll be a 'repositioning' cruise as the ship moves back to the Med for the summer season. However, the weather could still be a bit rough at this end in March and, having enjoyed several Med cruises, I really wouldn't want so many 'at sea days'. The great thing about cruises in the Med is it's like a luxury hotel which is in a different, great location each day.