What is the difference between Regression and ANOVA?

ANOVA is a special case of regression when all of the independent variables are categorical. A classical ANOVA model is set up to test if there is any difference between the means of a continuous response variable across one or more independent categorical variables, where a regression with dummy variables is parameterized to test for the significance of specific levels of the categorical variable compared to its reference level.