For any team to maintain a good pace, unit tests are essential. Ideally teams will have a balanced automated testing portfolio including end-to-end, functional, integration, and unit tests.
Benefits
Reduced Cost to Team
One of the purposes of unit tests is to prevent bugs. Preventing bugs early can provide exponential savings.

Better Code
Easily testable code almost always creates better code. This is because easily tested code has minimal setup (fewer inputs) and a well-defined output (typically a return). This produces simpler code within the project. If something is hard to test, that is a good indicator that the code can be refactored to make testing easier.
Code that contains side-effects, many inputs, lots of logic is much harder to test and harder to maintain in general. By implementing testing, developers are discouraged from bad coding practices because testing becomes much harder.
Enable Change and Risk Taking
Unit tests enable change within the code base and allow developers to take risks. Refactoring is best enabled when unit tests exist. A developer can refactor with no regrets when a safety net is present. Those following extreme programming will refactor the system as it evolves to reduce technical debt.
Attributes of Good Unit Tests
Fast
A unit tests is an isolated test that tests a small unit of code. It should be very fast. Some would argue that if your unit test uses the network or file system, it is not a unit test. Instead network, file system, or other interfaces should be mocked or stubbed out while testing. This improves speed and the reliability of your tests.
Readable
Readable unit tests can contain other qualities such as small and easy to update. When unit tests are easy to maintain, developers are more likely to keep them and create new edge test cases as necessary.

