Both deployment & publishing are one and the same. Mostly when we are working with windows apps, they use the term deployment and with web apps/site they call it as publishing.
Deployment/publishing is the process of distributing your finished application or component to be available to other users/applications.
The way of deployment will be different for Windows applications and Web applications.
For windows apps, from Visual Studio you can deploy applications or components using either ClickOnce deployment or Windows Installer deployment technology
For Web apps, from Visual Studio you have to right click on the project and you need to choose either publish option or Build deployment package option.