A weak hit is a hit that is reported in the output files, but does not satisfy the accept criteria. Since weak hits are not accepts they cannot terminate a search.
Weak hits in
However, consider a situation where a typical query has one or more hits to the database. If on average a query has one hit, the speedup with ‑maxaccepts 1 would be approximately 2x since targets are examined in an effectively random order, so the hit will be found after comparing with half of the targets, on average. If the average query has N hits, the first hit will be found after searching 1/(N+1)th of the database. Using -maxaccepts 1 ‑maxrejects 0 would therefore give roughly an (N+1)x speedup.
It can therefore be useful to say something like "to maximize speed, stop the search if you find a hit with E-value < 1e-9, but I also want hits with E-value < 0.01 in case one is not found". This can be done with a command line like this:
query.fasta -db db.udb -evalue 1e-9 -weak_evalue 0.01 \