I'd recommend it if you need to make an angular app look and behave like a native app as much as possible.
Unfortunately if you want to deviate from ionic's currently small pool of iOS-ish design metaphors, then it's not flexible at all, that's what you sacrifice for having everything else work with minimum fuss. I believe they are working on remedying this, there's lots of stuff on the issue tracker about enabling iOS Mail style layouts and so on.
In the end, it's just angular, and ui-router: this is its strength. Take a look at the repo.
EDIT: apparently a new version allowing more complex, composed UIs is on the way.
I should add that we have used it successfully to make iOS-looking apps at work, the problems I had were largely due to my need to do weird, not-very-native-looking stuff on a personal project.
Also I'd like to give ionic props for not reimplementing their own lame package management ecosystem, unlike some other client side frameworks I could mention...
For example, getting ion-side-menu to work was difficult for some reason. Looking at the documentation now, it shows that the directive is a child of ion-side-menus and a sibling of ion-side-menu-content. I'm not sure if that was always there, but I didn't notice it until now. The framework has been going through some change as well, so some of the examples out there are already outdated.
Regardless, I think Max and the guys at Drifty are doing great. And it's exciting to see a Madison getting mentioned in the development community. Nice work guys.
Edit: Ionic, not Angular
In regards to the CSS, I find myself customizing more and more of it as time goes on. I think that's to be expected. The important thing is Ionic provides a solid foundation to build on. I'm thus able to focus on the design right away instead of getting stuck in the weeds.
The cool thing about Famo.us is that you can express animations imperatively, and the framework enables those animations to be GPU accelerated (i.e. "buttery smooth".) So imagine if jQuery animations were performant. Add AngularJS to the mix and you get a pretty powerful mobile app framework.
The flipside with regard to Ionic is that there are (as of yet) fewer full-blown UI widgets like Ionic provides [though there are some nice ones like LightBox in the Famo.us core], so though you aren't boxed in, you also don't get quite the same "one directive and done" simplicity that you get when you're working with-the-grain with Ionic.
The resulting applications are hybrid, meaning that they are neither truly native (because all layout rendering is done via web views instead of the platform's native UI framework) nor purely web-based (because they are not just web apps, but are packaged as apps for distribution and have access to native device APIs).
The awesome thing about Ionic is that you have suite of cool widgets and components that are commonplace in mobile like the a header, sidemenu etc. (most of these are created using AngularJS directives). So instead of hand crafting the code for these UI elements, Ionic gives you a nice starting point to build such kinds of apps quickly and easily.
Ionic's toolchain is also delightful to use and much less intimidating than Cordova (or Phonegap) IMHO. If you're looking at building a mobile app which does not require esoteric native APIs and want it to deploy on multiple platforms - give Ionic a shot.