There is no difference as far as I can tell. The point of a CROSS JOIN is to explicitly state that you are trying to get a cartesian product. That way people don't think you've made a mistake and try to fix it.

Oracle claim that there are no performance differences between the traditional syntax and the ANSI syntax.

The only time there is a difference is when using the FULL OUTER JOIN since this is not possible using the non-ANSI syntax.

Note. Please don't start quoting examples of SQL with UNIONs. These are not examples of FULL OUTER JOINs, although they can be used to return the same data set that a FULL OUTER JOIN would.

Cheers