Oh, I get it just fine. You write the tests before you do the code, which is goofy, and you count on the developer to be the solitary tester of his own work, which is insane.
And you compromise your code to make it testable, and you have to come up with phony data sets to test against. Unit testing is mostly popular among younger developers who have grown up with this fad, not among people like me who never make the kind of mistake that unit testing is made to expose.
There is a damned good reason we have other people test our work, and it appears you are not only too junior to feel that reason as viscerally as I do, but too junior to have even run across it yet. The first time TDD was mentioned to me this flashed through my head in literally less than a second; how many times I had tested my own work “thoroughly” only to see a coworker break it in under a minute.
I’ve been employed to write software over 30 years. I wrote the original version of the SQL Server Management Console in 1990 (we didn’t call it that). I’ve seen a lot of silly fads come and seen almost all of them go. Not many were as plainly goofy as TDD. It has the same appeal as those illegible formatting gimmicks; it’s backwards, therefore it’s cool.