void says the return value is not the point

A method that exists for its effect has always returned null implicitly, which means a caller assigning its result gets something rather than an error. void makes the omission deliberate and checkable.

public function markExported(): void
{
    $this->exported_at = new DateTimeImmutable();
    $this->save();
}

$result = $order->markExported();   // $result is null, and now obviously so

A void function may still use return; to leave early; what it may not do is return null;, which is a fatal. That distinction reads as pedantry and catches a real case — a method that grew a return value in one branch and not the others. It also documents intent to a static analyser, which is where most of the value is.