Re-testing (confirmation testing) is performed to verify that a specific bug has been successfully resolved. Regression testing checks whether recent code modifications have accidentally introduced new faults or broken existing functionality in unmodified areas of the system. Their purposes and scopes are distinct.