Versioning is great... because just like Grady said, legacy apps can be broken by changes, but so can any modern updated software, publish a new SM build and 1 call signature was changed and oh no, or in our case where the mailStoreVersion property values were changed, we updated, then they changed again, and we had to update again.
Many of the products we use have versions, either supplied in the URL or as a parameter. IE /api/v1/ then they publish an update /api/v1.1 etc. Some use a header like X-API-Version etc. PayPal has different API versions, Coinbase Commerce, Braintree and many others.
ST also does not appear to publish when an API's signature has changed, the expected parameters or return structure.