Buenas json_encode básicamente pienso que deba usarse cuando quieras representar la información en formato json, que es un formato normalizado y por tanto te permite muchas más funcionalidades que si tienes los datos en un formato no normalizado.
En general será interesante usar json cuando tengas que escribir a archivo o hacer la información de alguna manera persistente (incluso podrías guardar una cadena json en una base de datos). En otros casos a lo mejor no tiene demasiado interés.
Ejemplo
<?php$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);echo json_encode($arr);?>
Devuelve {"a":1,"b":2,"c":3,"d":4,"e":5}
Esto tiene la ventaja de estar normalizado.
Un aspecto interesante de usar json es que en cierta medida independizas los datos de la lógica del programa. Por ejemplo un archivo con datos en formato json podrás mantenerlo aunque cambies la lógica del programa. En cambio si tienes un archivo con datos organizados "a tu aire" tendrás que cambiar su estructura (o adaptarte a ella) cuando cambies la lógica del programa.
Salu2