Phoenix and CCI certainly have areas of overlap and it is not always easy to decide when to use which.
I view Phoenix as a large and somewhat complicated tool kit that is primarily concerned with compiling unmanaged C/C++ to optimal machine code. Everything else is secondary and this has an impact on the usability of Phoenix for compiler front-end scenarios
and simple MSIL production and consumption.
Use Phoenix when you are a Rocket Scientist and need to leverage the extensive support for control flow graphs, SSA and so on.