I've looked at all 3 and I (still) use Xamarin.
Of the 3 Xamarin is the closest to the respective native platforms and it supports more platforms than the others.
Xamarin allows me to still be a native developer using the same native API's and UI (storyboards and android xml layouts, without having to learn a new user interface framework. C#, the top 5 languages in terms of popularity is very productive. Together with .NET you have a powerful combination, espeically if you're crafting your own backends too using .NET core which is also cross-platform. Now you can share common classes (esp json POCOs) between App and Backend code.
Xamarin allows be to keep abreast of whats new in the respective native frameworks.
I think Flutter is promising, but dart is a very niche language, and its too early to bet on it being a winner.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.