What is Regression Testing? How is it different from Retesting?

What is Regression Testing? How is it different from Retesting?