Это называеться Dependency Injection, в скобках вы передаёте объект, который будете использовать внутри класса.
Если объект передан через __construct(Guard $auth), как у вас в коде, значит можно будет использовать данный класс в каждом методе. Если вам нужно использовать класс только один раз, вы можете передать нужный класс методу, вместо
public function __construct(Guard $auth) {}
,
public function myMethod(Guard $auth) {}
Передача второго параметра может быть такой:
public function myMethod(Guard $auth, $id) {}
или такой:
public function myMethod($id, Guard $auth) {}
Laravel сам знает что где