The real win using something like Ionic is that you can build your app using web tech that works equally well on the phone or in the browser, and that your developers already know. The trade-off is that it becomes more difficult (but certainly possible) to make your app look and feel native.
React Native gives you many of those benefits, but since it compiles to actual native code you can't reuse your code for a browser app.
It is entirely possible to reuse your React Native code on the web, especially thanks to projects like react-native-web[1].
Ionic is ideal for smaller projects (one to about a dozen developers) or varying skill levels, many of whom already know web development to some level and don't want to have to learn yet another way to do things.
With Ionic, you can use the same code for your website and your android and ios apps, or at least re-use a lot of it easily. This is a big deal to people who want to keep costs low.
If you need serious performance on your mobile app, use react. If you want lower costs, use ionic.
b) With Ionic 2, I can be productive right now, because I can mess around with CSS and HTML. React Native only supports a CSS-like subset and you need to relearn some layout things. It's close to web stuff, but not entirely.
c) My gamble is on progressive web apps (PWAs) in the long run.