Background - We have been on all the major cruise lines and have mostly been on Celebrity and Royal Caribbean. Have been on three previous European cruises (2 Celebrity, 1 RCCL).
Flights - Booked flights independently and had two direct flights that worked out great.
Pre-cruise - we booked a Carnival pre-cruise hotel - Fira Palace. We paid a little more booking through Carnival, but we didn't want any hassle at the start of the trip. Transfers worked fine. Hotel was very nice although not centrally located to many of the main sites,but we just spent one night since we had been in Barcelona before. Took the Carnival transfer to the ship around 10:15 without any issues.