In a nutshell, Xamarin allows developers to create native apps in a single language, C#, for three different platforms: Android, iOS, and Windows. So, it is a wise solution for those willing to create native apps for several platforms. The list of reasons to choose it is much more extensive though.
The work of one developer knowing Xamarin is cheaper than the work of two ones knowing Android Java and Swift/Objective-C. With Xamarin, developers can share 60% of the non-interface code, and with Xamarin Form, it can rise even to 90%. The business logic of an app is completely shared.
Xamarin provides 100% access to the native device features.
Using native APIs 1:1 allows to keep UI and UX on the most decent level possible: you can get anything from Xamarin what is offered by Android Java and Swift/Objective-C.
Over 15,000 companies rely on Xamarin. In 2014, Xamarin developer community has grown 98% and sales more than doubled. We believe that these figures should mean something.
Xamarin is a Microsoft product so constant support and promotion are guaranteed. Moreover, it has a huge community: more than 1 m developers in around 120 countries.