Я так понимаю, юнит-тесты придуманы для того, чтобы убедиться, что метод, складывающий две переменные, их по-прежнему складывает, а не, например, перемножает.
А почему разрабы пишут - это отдельный вопрос. Например, они знают по опыту, что это заметно повышает надежность кода.
Или это считается хорошим тоном, и, следовательно, возможностью ткнуть носом своего коллегу, это приятно, такова человеческая природа.
А еще есть тест-дривен-девелопмент же - сперва тесты, потом код. Как только код написан и тесты зеленые - значит, хороший.