I must say that its not always that repetitive columns are store in a different tables. Here is a very practical example of the same
If you have some user/employee/student information table then you have the city and zip stored. Now if you look at the table in a very strict normal forms way then you will realize that many city have the same codes and so what can be done is we can have a seperate table for zip code and that can be the perfect normalization.
But from the practical point of view that is not done and we denormalize so that the information stored is in efficient manner as well as much more easily fetchable. The reason behind denormalization is to avoid the joins which are much complex and time consuming process.