guard_name is there so you can configure which Laravel guard to use for the check. Use 'web' by default (which is what it adds in if you use Role::create(['name' => 'writer']))
In config/auth.php you will see;
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'token',
'provider' => 'users',
],
],
Here you get 'web' and 'api'. Maybe you want to have roles or permissions that are for 'api' instead of 'web', which is normal HTML front-end.
You can also create other guards that Laravel can read and use those.
Hope this helps.