A Cartesian product (cross join) occurs when every row from the first table is joined with every row from the second table, creating n × m rows. This happens when the join condition is either omitted entirely, invalid (references non-existent columns), or when no WHERE clause restricts the join.