Eso se suele hacer para posteriormente ejecutar la consulta sobre la variable $db
Por que si te fijas aqui
http://docs.joomla.org/JModel (pincha en la version que trabajes, por cierto a nivel de desarrollo la 1.6 corresponde a 1.6 y versiones posteriores) EL getDbo te devuelve una conexión a la base de datos.
Fijate que si
$search no es nulo utilizamos ese objeto
$db->getEscaped($search, true) para llamar al método getEscaped .
$db es un objeto JDatabase (especificación del objeto $db
http://docs.joomla.org/JDatabase/1.6), que cómo lo sé, haz un print_r de esa variable lo ejecutas y te dice lo que contiene y el tipo de objeto que es, hay que saber leerlo pero te lo dice.
¿Es necesario el getEscaped? SI!!! Se hace para evitar una inyeccion de SQL (explicación ->
http://es.wikipedia.org/wiki/Inyecci%C3%B3n_SQL)
Vaya tocho, he vuelto de las vacaciones con fuerzas ;)
PD Un listado de tutoriales de regalo para aprender ->
http://docs.joomla.org/Developers