This question is a few years old and and theres still quite a gap betweens the functionalities when its about releasing versions.
i personally have two things i dont like about the modern pipelines approach (for releases) vs the "old" release pipelines:
- the configuration of the modern pipelines is more complicated
- the ui isnt as good for release management
for our scenario lately the release pipelines were still the better alternative. the ui and the accessibility of the configuration let us chose release pipelines for our releases and we kept the approach of having a build pipeline and a separate release pipeline.
You should consider the old release pipelines if you do not want to deploy every time to every environment and you have an approval process that also shouldnt be executed every time. you can implement that stuff in yaml but you cannot simply configure it. you have to configure the new pipeline in yaml yourself completely. the accessibility isnt as good.
You can see more easily which version is deployed. if you sometimes want to deploy older versions then release pipelines will show you clearly which version is deployed on which stage:
This is not the case with the modern pipelines. Thats how you see it in the overview:
the whole ui of the modern pipelines isnt made purely for releases. though you get a nice view of your stages in the details view of a pipeline...
... this view is even below the compiler warnings of the build!
the release pipelines are made for that process and you see that reflected in the ui. this is the details view of a single release and its always at the top of the page: