There are some software updates that BMW calls every vehicle in to then apply. But, the normal sequence is, don't do anything unless the customer complains. Note, with all of the combinations of options and running changes, what affects one vehicle may not affect another that might have had the same options, but different rev numbers on them, so the decision doesn't end up being universal.
When an update is applied, it's not a generic change, the specific VIN is input, and the servers in Germany generate a unique software update to account for the specific modules installed in that vehicle. This may be one reason why they don't do over the air updates...each car may require a unique software build. Nav database updates, might be the exception.
2014 i3 BEV, 2021 X5 45e
(The i3 will be sold soon, <17K-miles, interested?)