One bootstrap dataset might contain some rows multiple times and omit others.
What uncertainty is bootstrap estimating?
Bootstrap mainly estimates uncertainty due to limited training data.
This is often called epistemic uncertainty: uncertainty because the model has only seen a finite sample.
If a small change in the training data causes a large change in prediction, bootstrap will show a wide spread.
Bootstrap is attractive because it is conceptually simple. You do not need to derive an analytical variance formula for your model. This is useful for complex ML models where classical uncertainty formulas are unavailable.
But it still relies on assumptions such as:
\text{training examples are representative of the population}
and usually:
\text{data points are independent and identically distributed}
For time series, spatial data, grouped data, or highly dependent samples, ordinary bootstrap can fail.
Alternative:
block bootstrap cluster bootstrap wild bootstrap residual bootstrap Bayesian bootstrap