Pipelines is a name in latest DevOps user interface for Builds. In old UI it's like this:

It can be said that Pipeline
(or Build, or Build Pipeline) represents CI (continuous integration) in Azure DevOps. Release
represents CD(continuous delivery) in Azure DevOps. Pipeline usually takes code, builds it, tests and creates an artifact. Release takes the artifact and releases/deploys it.
The usage depends on your project.
If you have a small project and there is no need in Release features (e.g. pre-deployment conditions and approvals), then you can have Pipeline like you mentioned: restore -> build -> tests -> deploy
and no need in Release.
If your project is big with a lot of developers contribution, it's good to have Pipeline which builds, runs unit tests, does other automation and results with artifact every time developer pushes to the common repo. So you can be sure all is settle and integration tests passed. Pipeline also can end up with release/deploy task to development environment/servers for internal work, usage, testing.
In large project you don't need to deploy every push to common repo. So you can settle a Release which will be responsible for deployment to production environment. It has features designed for this, like pre-approval, so everyone is agree it's the right build (or artifact) for production.