Jajaja, hablame en idioma mortal viejo xD
CakePHP es un framework basado en "convención sobre configuración". Es decir, existen una serie de convenciones o reglas que debés de seguir para que tu aplicación funcione adecuadamente y podas hacer uso del framework.
CakePHP está basado en el Modelo-Vista-Controlador, que intenta separar el acceso a datos, de la presentación y de la lógica de la aplicación. Los tutoriales generalmente te explican cuales son las convenciones que el framework utiliza.
La convención del MVC que utiliza CakePHP es la siguiente:
1-Todos los archivos correspondientes a definir tus modelos de datos se guardan en la carpeta Model
2-Todos los archivos correspondientes a definir la lógica de tu aplicación se guardan en la carpeta Controller
3-Todos los archivos correspondinetes a definir la presentación de tu aplicación se guardan en la carpeta View
En CakePHP interactuas con los métodos (acciones) de los controladores por medio de las URL, es decir cada acción tiene que tener asociada una Vista*, por ejemplo:
/directorio/buscar/Hola Mundo
Intentará encontrar la "acción" (método o función) "buscar" en el controlador "directorio" y pasará el parámetro "Hola Mundo", generalizando, lo que se mostrará al usuario será la vista "buscar":
/<controlador>/<accion>/<parametro1>/<parametro2>/.../<parametroN>
El archivo routes se utiliza cuando no queres seguir la convención y queres definir otra url en particular para tu aplicación.
Los nombres de los archivos, sus ubicaciones y demás están definidos "por convención", es decir que siguiendo las reglas que define el framework podes crear tu aplicación sin (casi) tocar los archivos de configuración.
De ahí es que viene que se dice que es un Framework de "Convención sobre Configuración".
Existen otros frameworks que te obligan a definir ciertas configuraciones de archivos para que tu aplicación pueda funcionar. ¿Qué es lo mejor? Bueno ahí depende algunos como JaiMe y el Rdoggsv están enamorados de Convención sobre Configuración... A mi me parece bien pero pues no tengo una predilección específica sobre cual sea mejor fksjhfdk jfhfdas igual para gustos los colores jijiji
*Realmente se pueden definir acciones sin vistas (por ejemplo una accion que procese datos y realice una redirección). Esto es "permitido" aunque se sale un poquito del MVC.