They certainly catch a lot of problems that would require a person to test manually. They also take a lot of time to write and keep up to date. Obviously unit tests are not a replacement for proper QA and regression testing.
They do take a lot of time to write, but in many cases are worth it because the testing is usually done and reported automatically which saves time. The consistency of how the tests are run are more reliable than manual testing. Just a couple weeks ago we had a developer from another region making changes to an API I'm working on. She wasn't familiar with our setup so she didn't run the unit tests, but after merging the changes into main and after I ran the unit tests, there was a small problem found and a direct and easy pointer to where the issue was located. This issue may have gone unnoticed for some time otherwise and would have taken more time to track down. I wasn't suggesting that unit test cases replace proper QA and other things like performance testing teams. They simply aid in providing a more-reliable build to the QA teams.