I cannot speak of motivations for the float default options in standard documents, but the most logic for a float algorithm cannot other than place the float in a good place as soon as possible.
The default of a standard article is
[tbp] (i.e., place the float anywhere except here). Restrict some of these options mean lost many chances of place a float, whereas add some more (
[!htbp]) mean increase the chances, but at the cost of the elegance of the document layout, allowing text scattered between figures, instead of figures scattered between text.
Without being aware of possible cross-references,
[tbp] seems a good default, even if some float can be placed before of the first reference to this float when you do not care at which point the algorithm should start to try these places.
The best practice, of course, is not settle for this to happen, but (1) not to place the float near of the reference, but near where it should be showed, or (2) avoid the top option (e.g., to
[bp]), or alternatively (3) use the package
afterpage to allow a top float but in the next page, or if you are more prone to automatic solutions (4) use the package
flafter to skip always the top position, but only of the actual page.