I think it comes down to what you are doing.
Most of my code is single programmer (me) stuff for clients. I don't work in a team, I am the only guy in the company that knows how to code half decently (the other guy is a 'functions are good?' type of guy).
The other thing is my projects tend to be smaller - they can be done if 50-100 hours or so.
I spent a lot of time looking at different frameworks and methodologies, and for web based work of the above scale, CI is the choice for me.
The main reasons are:
- CI is fricken fast
- It enforces discipline. The MVC framework FORCES you (if you want) to code with a separation of concerns. Great for new programmer and a gentle reminder to old hands (sometime we forget and go the quick hack route)
- CI doesnt force you to be in it all the time. You can jump into plain Php then back into CI as needed.
- Helpers help you with #3. Not CI specific of course.
- Routes and Session have never been a problem for me as I have only relatively simple problems to solve.
- Doc is small - you can 'be across' the whole framework in an afternoon and grok it soon after.
To me #1, #3 and #6 are the big reasons.
So for smaller issues that can be coded by a single programmer in 50-100 hours then CI is a strong choice.