Regression testing is performed to verify that recent code changes, bug fixes, or enhancements have not adversely affected existing features or introduced new defects. Finding more defects is a byproduct, not the core objective, and it does not verify that the entire system is tested.