It gives you an Eloquent Builder instance to start a new query. You might use this approach if you conditionally build the query based on certain inputs, and/or other conditions, e.g.
// Get a query builder
$query = Products::query();
// Conditionally constrain the query
if (auth()->user()->can('view_unpublished_products')) {
$query->whereIn('published', [false, true]);
} else {
$query->where('published', true);
}
// Finally, finish the query
$products = $query->get();
There is a when builder method which will allow you to conditionally constrain the query if a certain given condition is true if you prefer to chain, and the circumstances allow it.