I mention the first ones that come to my mind:
- D-KMP is compiled to native libraries (JAR library on Android, ObjC framework on iOS): for this reason the bundle size will be much smaller than Xamarin
- D-KMP gives you the great flexibility to share the business logic (85%) on any platform you want, as it doesn't dictate you a UI toolkit: for example, if a new mobile OS or TV os comes up, you can fully reuse the the business logic and just apply 15% platform-specific UI toolkit on top. With Xamarin, Flutter and ReactNative (which dictate you the widgets to use) you are stuck, you cannot reuse anything. KMP code is really "write once, run everywhere".
- D-KMP compared to Xamarin fully operates in the open-source space, and you will never get charged for anything.
- You will never run into the risk of having chosen the wrong technology, because D-KMP is not a proprietary framework like Xamarin (which could be abandoned by Microsoft at any time), but it's about using the native frameworks for each platform.