Retesting means testing the functionality or bug again to ensure the code is fixed. If it is not fixed,
Defect needs to be re-opened. If fixed, the Defect is closed.
Regression testing means testing your software application when it undergoes a code change to ensure that the new code has not affected other parts of the software.