Buenas!
 
Por lo que deduzco del contexto y de mis conocimientos de JAVA y OOP, me atrevería a decir que 
usort hace lo siguiente:  
Código:
 usort(array, string);
busca la función que se describe en el string y ordena array usando la función.
  La función cmp, 
andresdzphp la ha declarado para incluir ahí un strcmp (comparación entre dos strings), para poder usarla en usort. 
A fin de cuentas, está diciendo a usort que tiene que ordene usando como referencia la función cmp, que compara los títulos de dos objetos. 
Espero que esto te aclare un poco tus dudas. 
Saludos!