To understand this clearly, I think the main problem here lies in the way that some people talk about these kinds of solutions. When someone introduces a cross-platform test automation such as Appium, for example, in a conversation, most of the time they tells you that all your tests will work (almost magically) on different devices and operating systems, but that's a half-truth.
When I started using a cross-platform test automation framework, the hardest part was to start facing the truth about how everything really works; So if I want my tests to run on different devices, I have to write those particular scenarios correctly for each operating system, it was not that bad, but my expectations were way too high due to what they told me before.
The cross-platform test automation system may not be perfect (no, it is not), but it definitely helps you improve the way you write your test and reduces the time you invest on it.
It would be incredible if the same test that you write for an Android application works perfectly in iOS, but this is not our current case for multiple factors.
In my experience, it's worth it because it reduces the time I spend writing each test for different platforms and I have everything in the same project.
Please, let me know in the comments if you prefer the cross-platform test automation, and what was your experience so far.