Отношения ко многим многим довольно часто развиваются ракушками & mdash; дополнительные данные, связанные с самими отношениями, а не с любым из участников отношений (по моему опыту, это скорее норма, чем исключение). Например, члены и группы могут быть связаны многими-многими, и вы хотите знать, когда участник присоединился к группе, каков его статус членства (новый, ожидающий, приостановленный, ...) и т. Д.
Если вы начнете с моделирования отношения напрямую как «многие ко многим» и напишете весь свой код соответствующим образом, самый первый дополнительный столбец, который попадет в таблицу соединения, сломает вашу модель и кучу кода.