Cross platform solutions
Cross platform frameworks work hard to deliver on their main promise, which is to use a single codebase in as many places possible.
With the new wave of mobile frameworks, we can finally make this happen, and it has proven very effective. Using a single codebase for both platforms, significantly reduces development time and improves app maintenance - releases can be done simultaneously on iOS and Android.
Native solutions
When we don't want to make compromises, be it on performance, security or maintenance, we can build apps using native frameworks available on given platforms.
Sometimes we may be constrained to a feature-set that mostly relies on native solutions, and using a cross platform framework doesn't make economical sense. Native apps will always be the most performant, safest, and will require much less effort to maintain in the long term.