Publishing a version means that the project version will be locked with its Entities and Security configurations. No further updates can be made to it; however, new versions can be created on top of it.
Deploying a version will promote it to a higher environment. All the Entities and Security configurations will be migrated to the higher environment as part of the deployment process.
A published version will exist only in the lower environment until it is deployed. After deployment, it will be present in both the lower and higher environments.