$guarded is opposite to $fillable.
So, if you have a table with fields id, name, description and model's fillable fields are id, name then logically guarded fields are the rest - only description field.
But since Laravel doesn't "know" a full set of model's fields (fields are stored as database table columns, not in a code) it can't determine $guarded based on known $fillable value (and vice versa).
That means, getFillable() can return only what you explicitly set for $fillable, it can't calculate fillable fields based on what you set on $guarded list.