I just started using Azure DevOps the past year after using GitLab mostly. I would say Azure DevOps has some really nice features that stretch beyond just version control and pipelining. I still prefer GitLab mostly because it has some nice features with registries for Python, Node, and even Containers. Basically allowing your team to create private modules in Python instead of releasing those modules through public registries like PyPi. This basically allows you to create a library of modules you can integrate into other projects with your CI/CD. Containers too being you should have pipelines that spawn a container to run the pipeline for you, install all the dependancies, test, deploy, then tare down the container.
Azure DevOps is not there yet when it comes to more advance pipelining for those doing big cloud specific projects like true serverless solutions.