В целом разрабатывать на Xamarin удобно.
1. Можно открыть книгу по разработке под Android на java и копипастить примеры оттуда с минимальными доработками, с учетом языка и xamarin'a
2. Сам язык C# более чем годен, очень активно развивается. Есть куча шарповых библиотек как платных так и бесплатных, как в репозитории пакетов так и на GitHub в виде исходников. Xamarin позволяет подцеплять нативные либы на java, если чего-то не хватает.
3. Есть "нативный" Xamarin (Xamarin.Android, Xamarin.iOs и т.д.) - это обёртка над нативными API, UI делается привычным для нативных разработчиков способом. Есть Xamarin.Forms - там можно делать единый UI с помощью XAML. Инструмент более чем работающий, но нужно к нему привыкнуть, знать минусы, знать особенности платформ под которые разрабатывается приложение, знать что Xamarin Forms можно использовать не для всех приложений, знать как делать быстрый UI. XF - в целом готов для использования.
4. Да, размер пакета приложения если сделать все по дефолту большой, есть куча статей по оптимизации размера приложений, но размер приложения будет больше чем у нативных.
5. Основная проблема Xamarin Forms - не баги, размер или еще что-то. Это неправильные ожидания которые к нему предъявляются. У него своя ниша.