Я никогда не применял второй вариант — не было необходимости. В вебе, например, если нужно удалить группу у пользователя, то легче взять уже передаваемый user_id и передавать group_id, который, как правило, все равно нужен хотя бы для ссылки, чем вводить дополнительный id для связи.
На мой взгляд тут все зависит от вас, если вам удобнее работать с дополнительным ключом, то он нужен, если нет — то нет. По производительности — практически равнозначно, только нужно не забыть расставить индексы.
Я считаю, что оба варианта корректные, делайте как вам удобно.