Xamarin.Forms is used when:
- Less platform-specific code is required
- Code sharing is more important than custom UI
- UI is not complex
Xamarin Native is used when:
- Lot of platform specific code is required
- Custom UI is more important then code sharing
- Many platform-specific APIs are used