Il metodo CDbCriteria::with() ti serve per fare quella che si chiama query in "modalità eager loading".
Come dici tu, facciamo un passo in dietro.

Cercherò di condensare il tutto, ma la "questione" posta è un po delicata.
Immagina di voler costruire un elenco contenente tutti i post pubblicati nel blog.
Giustamente userai la query:
$models = Post::model()->findAll();
In questo modo su $models farai finire tutto il contenuto della tabella Post. Da li potrai generare il tuo elenco.
E se poi nell lista dei post vorrai includere anche il relativo autore, oppure il numero dei commenti, cosa dovrai fare?
http://www.yiiframew...elational-query
La soluzione più ovvia e semplice potrebbe essere quella di richiamare nella vista "list", nel ciclo foreach su $models, il nome dell'autore con qualcosa del tipo:
echo $model->author->name;
Questa funzione eseguirà per te, ed in automatico, una query nel database per recuperare l'autore del post ed il suo nome. Questa si chiama query in modalità "lazy loading". Ovvero, "query eseguita soltanto quando il dato è richiesto".
"eager loading" e "lazy loading" hanno i loro pro ed i loro contro.
Infatti nel ciclo foreach su $models cosa succede?
Se nel database hai 10 post, al termine del foreach avrai eseguito altre 10 query; raggiungendo così un totale di 11 (10 + quella iniziale).
E se nel database invece avrai 1000 post? Oltre alla query iniziale (quella che ti restituisce tutti i post) dovrai eseguirne altre 1000 per recuperare tutti gli autori! Come puoi intuire è una logica di funzionamento pesante (per fare una cosa molto banale - fra l'altro).
In situazioni come queste ti viene in aiuto l'"eager loading" ed il metodo width() ti permette di richiamarlo. In questo modo, con una sola query (e ripeto una sola query) avrai tutti i dati necessari in un colpo solo. Dovrai comunque richiamare il foreach, ma questa volta tutti i dati saranno stati richiamati prima.
Spero di averti illuminato almeno un po, purtroppo il tempo mi è tiranno
TI consiglio di leggere questo paragrafo in particolare:
http://www.yiiframew...elational-query