It has improved. It works well for a lot of use cases. And if you want to have a platform more focused you just make custom renderers for those elements. It is not for everything but especially if it will support more platforms it will be very interesting for LoB apps.
3. Updates constantly breaking things. To be fair, this is also improving
4. There may still be instances where you have to drop into native code or split code based on platform. This means you sometimes will need to know: c#, xamarin.forms oddities, java\android stuff AND objective c\iOS. This may not be an issue for simple apps
5. UI builder is limited. The apps will be native looking but you won't be winning any design awards. Some things also seem impossible so it helps if the customer\designer\stakeholder is really flexible. If someone asks for an app to collect and display data, you will probably be ok. If they give you pixel dimensions and other minutiae run.