Maintaining unit tests is difficult. I am sure that we all have experienced a time when a seemingly small change to the system under test caused dozens of unit tests to fail. Sometimes these failures reveal bugs in the SUT, but often the tests are out of date and no longer reflect the correct behavior of the SUT. In these cases, it is necessary to fix the broken tests.
Have you encountered this situation? Does it happen often? What change did you introduce and how did the failures manifest? Did you fix the broken tests or simply delete them? If the former, how? If the latter, why? How does the fear of failures affect your desire to write tests?
I would also like to find specific examples of broken tests. Do you know of any open-source applications that evolved in ways that caused tests to fail?