Mediterranean cruise holidays take in all sorts of jaw-dropping destinations, from beautiful beaches and marvellous markets to romantic ruins and majestic mountains.