In my experience, honestly the advantages of a unit testing suite are extremely minimal depending on your integration test runtime.
However, they're a good tool if for example you're working with a Big Data system, where an end to end integration test will necessarily take an extraordinary amount of time.
For my first job out of school in Apache Spark they were absolutely brilliant. For my current codebase? Not so much.
However, TDD just reduces the number of mistakes I make by an umpteenth amount.
Just because it breaks my code up into extremely short subroutines so I screw up less. Plus writing the unit test itself is a brilliant way to "measure twice, cut once."