En Oracle, (+) denota la tabla "opcional" en JOIN. Entonces en tu consulta,
SELECT a.id, b.id, a.col_2, b.col_2, ...
FROM a,b
WHERE a.id=b.id(+)
es una IZQUIERDA EXTERIOR IZQUIERDA de la tabla 'b' a la tabla 'a'. Devolverá todos los datos de la tabla 'a' sin perder sus datos cuando el otro lado (tabla opcional 'b') no tenga datos.
La sintaxis estándar moderna para la misma consulta sería
SELECT a.id, b.id, a.col_2, b.col_2, ...
FROM a
LEFT JOIN b ON a.id=b.id
o con una abreviatura de a.id=b.id
(no compatible con todas las bases de datos):
SELECT a.id, b.id, a.col_2, b.col_2, ...
FROM a
LEFT JOIN b USING(id)
Si elimina (+), será una consulta de unión interna normal
Sintaxis anterior, tanto en Oracle como en otras bases de datos:
SELECT a.id, b.id, a.col_2, b.col_2, ...
FROM a,b
WHERE a.id=b.id
Sintaxis más moderna:
SELECT a.id, b.id, a.col_2, b.col_2, ...
FROM a
INNER JOIN b ON a.id=b.id
O simplemente:
SELECT a.id, b.id, a.col_2, b.col_2, ...
FROM a
JOIN b ON a.id=b.id
Solo devolverá todos los datos donde el valor 'id' de las tablas 'a' y 'b' sea el mismo, significa parte común.
Si desea hacer que su consulta sea correcta
Esto es lo mismo que un LEFT JOIN, pero cambia qué tabla es opcional.
Antigua sintaxis de Oracle:
SELECT a.id, b.id, a.col_2, b.col_2, ...
FROM a,b
WHERE a.id(+)=b.id
Sintaxis estándar moderna:
SELECT a.id, b.id, a.col_2, b.col_2, ...
FROM a
RIGHT JOIN b ON a.id=b.id
Ref y ayuda:
https://asktom.oracle.com/pls/asktom/f?p=100:11:::::P11_QUESTION_ID:6585774577187
Unión externa izquierda usando el signo + en Oracle 11g
https://www.w3schools.com/sql/sql_join_left.asp