Eloquent fires saving, created, deleted and the rest when a model instance is saved. A mass update or delete goes straight to the query builder and fires nothing at all.
// fires events, one query per row
Order::where('status', 'draft')->get()->each->delete();
// fires nothing, one query total
Order::where('status', 'draft')->delete();
Neither is wrong; picking the wrong one is. If a listener maintains a search index or an audit log, the mass version leaves both stale, and the failure is silent. The reverse also matters: hydrating ten thousand models to fire an event that only logs is a slow way to write one query. Decide deliberately, and leave a comment where the choice is not obvious.