Избери този, на който ти е най- приятно да пишеш. Предлагам да напишеш по едно малко приложение на всеки един от трите, за да усетиш кой отговаря най- добре на стила ти на работа (може да разгледаш и фреймуъркове, които не са за PHP като Flask или Rails).
Следващата стъпка ще е да потърсиш какви ресурси има за всеки един от тях. Ето списъци за CakePHP (FriendsOfCake/awesome-cakephp) и за Laravel (chiraggude/awesome-laravel). Сигурен съм, че има такива и за Codeigniter.
По- голямата част от фреймуърковете имат еднакви характеристики, но с различен синтаксис. Например и CakePHP и Laravel предлагат поддръжка за Auth и Rest. Разликите идват от някои функции, които присъстват в едни от тях, но не и другите.
CakePHP се е справил чудесно с това да разшири функциолността на основните библиотеки. Поддържа всички основни RDB и има плъгини за повечето NoSQL бази от данни, същото се отнася и за кеширането и логването. Можеш да създаваш плъгини за всеки шаблонен език. Laravel от своя страна пък предлага вградена библиотека за опашки, която е доста добра. Laravel има и други подобни функции. Всичките неща можеш да ги правиш и в други фреймуъркове, но вградената функционалност улеснява задачата ти.
На последно място трябва да разбереш какво е бъдещето на проекта, към който си се насочил. Трябва да видиш какви функции ще се добавят за в бъдеще и дали ще има редовна поддръжка (малки пачове, нови версии, подобрения на сигурността). Мисля, че Laravel наскоро изкара своята версия 5.1,а за CakePHP скоро ще излезне версия 3.1.
В крайна сметка, каквото и да избереш не трябва да забравяш, че ще работиш на PHP. Важно е да знаеш на какво е способен езика и дали можеш да направиш с него това, което искаш, защото фреймуърковете си имат ограничения за това колко могат да ти помагат.