This is based upon attempting to use the products to build some solutions. The Xamarin advantage is in the cross-platform tooling (if I'm making separate code for each, why would I bother with a layer of abstraction?), but when used it generates a compromised result.
It is perfectly fine for some relatively simple things. Basic information apps, etc. But it isn't long in complex apps before the abstraction is leaking all over the place, and you find yourself fighting the tooling rather than leveraging the tooling. Which has been the case for virtually every similar "all platforms one tool" type solutions.