Как раз сегодня эту тему изучал.
Вкратце - если нужно быстрое и простое решение для кроссплатформы, то ксамарин подойдет.
Если нужно использовать фишки платформы, максимальную оптимизацию, максимальное качество, в общем, то прямой путь в native.
И да, для эффективного использования xamarin нужно знать особенности каждой платформы, под которую собираетесь разрабатывать.