The URL generated when we run a flow is the Flow Run URL. This URL includes the Flow ID; which remains constant throughout the lifecycle of a flow; as well as the Flow Version ID, which is updated every time a flow is edited.
What is the difference between Run and Publish?
Run: Snapshots the current version of the flow, and runs that version. The URL in the Run dialog contains a Flow Version ID.
Publish: Snapshots the current version of the flow, and make that version the default version.
Whenever we run a flow without a Flow Version ID specified, it will use the last published version. We may want to share links that do not contain the Flow Version ID with our end users, so they always have the latest published version of your app.