Investigando un poco me encontré con una explicación (Me hubiese gustado que fuera en la doc de oracle) a este tema.
SELECT EMP.*,DEPT.DNAME FROM EMP WHERE EMP.DEPTNO = DEPT.DEPTNO + 0;
The + 0 (which is illogical) was used to disable the rule to use the index on the DEPT.DEPTNO column because it was
involved in a function and to prefer the nonunique index on EMP.DEPTNO. It looked ugly, but it worked in situations
where an application and the indexes couldn't be tuned anymore.
En pocas palabras, entiendo que hasta la versión 7, oracle realizaba sus planes de ejecución mediante RBO (Rule Based Optimizer)
Posterior a esta versión trabaja por defecto en CBO (Cost Bassed Optimizer) que permite obtener el plan de ejecución mas optimo
para la consulta haciendo uso de las estadisticas de las tablas.
Este juego de caracteres parece ser utilizado en versiones anteriores para deshabilitar ciertas reglas y guiar un poco a oracle en la construcción de su plan de ejecución.
La fuente es:
http://www.techrepublic.com/article/...le-10g/5219086
Espero aclare algunas dudas.
Saludos