Many of my clients ask the difference between these.
I tell them: Native apps are high end, work smoothly and have the best performance. Cross-platform apps are cheap to get done and have a single code-base. React native also requires multiple code-bases as I've explored.
So what are top 4 to 5 points on which you justify the use of one one technology over other?