Unit Testing is the process of writing small, code-level tests that prove that the method did what the developer intended when the test was written. Well-written Unit Tests only test one specific aspect or path through a single method (from @TimOttinger see F.I.R.S.T. Unit Testing Principles). Unit tests provide a degree of safety by demonstrating whether a change in the code affects the test cases.
Unit testing has only a limited effect on quality, since they don’t test whether the developer’s intentions were correct when writing the test case.