Предложение ON немного похоже на предложение WHERE в том смысле, что оно фильтрует результаты, но это более выразительный способ написания запроса, поскольку вы явно показываете, что две таблицы связаны очень специфическим образом. Вместо этого можно было бы написать предложение WHERE, и оно дало бы тот же результат и тот же план запросов (при условии, что оптимизатор может это выяснить), но для ясности рекомендуется использовать JOIN.
В этом случае это не имеет большого значения, но если у вас был более сложный запрос со многими таблицами, с синтаксисом JOIN вы можете увидеть, какие таблицы связаны и с какими полями. Вы также можете сразу увидеть разницу между предложениями JOIN и WHERE, используемыми для фильтрации результатов. Если вы напишете все в предложении WHERE, может быть более запутанным, чтобы понять, какова цель запроса.