When you deploy a SharePoint-hosted add-in from Visual Studio it creates a new SharePoint site and the resources that make up your add-in (pages, scripts, css, images) get provisioned into this new site. This site is known as the app web. It is a child site of the site you set to use for testing when you create the project in Visual Studio.
Subsequent deployments from Visual Studio will generally replace the resources in the existing app web. However there are some cases where Visual Studio needs to replace the existing app web with a new one. Modifying the app manifest is one of these cases.
If you modify the app manifest and deploy from Visual Studio, the existing app web gets deleted, a new app web gets created, and the resources that make up your add-in get provisioned into the new app web.
Every app web is given a unique domain name. Doing this isolates every add-in from every other add-in and it isolates every add-in from every "regular" SharePoint site. So, if the Visual Studio deployment requires that the existing app web be deleted and a new app web be created, the URL for the add-in will change. Part of the domain for the add-in is generated at the time the app web is created so there is no way to know what it will be ahead of time.
This YouTube video (which is part of my Pluralsight course on SharePoint-hosted add-in development) explains more about the URLs used with SharePoint-hosted add-ins.
App URLs, Identity, and Isolation in SharePoint-Hosted Apps