In general I was surprised by just how native the running product feels. You have to do some work to keep it that way, of course, but for a simple forms based app it's very achievable to end up with something that looks and feels native. Savvy users will spot the difference, but most probably won't. The CSS graphics performance on a modern iOS device (say iPhone 5+) is very good and the animation effects are smooth. On Android (5) things are a bit choppier, but still acceptable.
The other major positive is that it's much more convenient to develop things locally in a browser, and use all the debugging tools that come with it, than to go through the much longer debug cycle of deploying native code and trying to use an unfriendly debugger that frequently just dumps you to a page of assembly code. I definitely find HTML, CSS and JS to be a faster and more pleasant development environment than Objective C and Xcode's UI designer (I can't speak for native Android development).
There are also downsides to Ionic:
Native functionality is provided through plugins. These are community made and the quality is wildly variable. It is easy to end up digging through the source of these yourself. On iOS, these will occasionally conflict with each other due to bad namespacing by the author. Most plugins will support iOS and Android, but support for other mobile OSes gets patchy quickly.
Although it's write-once-run-anywhere, you do end up spending a lot of time fiddling with OS specific CSS bugs. iOS's HTML renderer is far from perfect, but Android's is pretty good!
The build process is a bit annoying and we've found it hard to lock everything into our version control system due to some things about the way ionic is structured, especially in regard to mixing Linux (which can't build for iOS) and Mac machines in our project. We've also had numerous things break unexpectedly which later turn out to be due to some detail of the build process.
Overall: pretty good, but not without problems.