Что означает данная запись в миграции?
Разница заключается в том, что с внешним ключом вы не сможете вставить в таблицу данные, отсутствующие у связующей таблице в колонке с внешним ключом, а так же не сможете удалить эту запись если данный внешний ключ используется в связующей таблице. 
Если вы укажете это в модели, то это будет то же самое, что и без внешнего ключа, но как я сказал выше, вы не будете застрахованы от удаления и null вставок. А так же для foreign можно дописать еще и стратегию, например$table->foreign('user_id')->references('id')->on('users')-onDelete('cascade');
Что будет означать, что при удалении пользователя, записи из этой таблицы, которые содержат внешний ключ, ссылающийся на пользователя, будет удален.
Это реализация внешнего ключа через конструктор таблиц Laravel.
Подробности в документации:
https://laravel.com/docs/5.2/migrations#foreign-ke...
https://laravel.ru/docs/v5/schema#внешние