Hi,
Retesting: After fixing the bug by developers, developers will send it for retesting, to verify that bug is working fine (Means, its working what it supposed to do). In Retesting we are executing only the test cases which is related to that particular function. We are not testing the application with different set of data. If that fixed function is working fine with out showing error, then we will go for regression testing.
In Regression testing, we will verify whether, that fixed bug is impacts on the other related/dependent modules. (In Regression testing, we will execute all the test cases for that modules and other related/dependent modules).
Thanks & Regards
Nagaraju A.v