When the database is refreshed from another environment, the jobs do not move over as part of the refresh and must be recreated by the user. When a job is created on the front end, the job is also created in SQL which allows it to run. When one environment is refreshed from another, the database is loaded onto a different SQL instance than that of the original database. Because of this, the SQL job still lives in SQL that is linked to the original database but it goes away from CRM as that job no longer exists in the SQL instance attached to the new environment.
The job in Business Processes is the corresponding SQL job that existed in the previous refresh of the new environment. So, that job technically exists in SQL but isn’t viewable in CRM as we’ve brought over a new database. To avoid the mismatch, the job would need to be deleted from CRM prior to the new envrionment being refreshed so that it deleted it out of SQL. This would cause it no longer to show in business processes when the database is refreshed. Or, a DBA and manually delete the job in SQL.