В плане функционала - разницы никакой :) Что так, что так - в любом случае будет использоваться нативная часть Java.
Xamarin появился очень давно, так что его можно и даже нужно изучать, если нравится .NET/C#/VStudio. Хотя есть примечательный факт.
Представим, что у нас есть 4 разработчика, два из них пишут на Java под Android, два других под iOS на Swift.
Если их перевести на Xamarin, разработка увеличится не в 2 раза, как можно подумать с 1 раза, а примерно в 1.5.