On small projects where one has complete ownership and knowledge of the code, one can get by without testing. When you have a large project with tens to hundreds of developers, automated testing gives the developers the confidence and comfort to make large or deep changes with an accurate measure as to the overall stability of the product, even the areas where an individual developer may have little domain knowledge of.