Answer
1. "Code smell" is the idea that within the code there are sometimes places where there are redundancies and overlaps within the code that could create problems when the coding changes and some of the repeated coding is overlooked. Refactoring can eliminate this issue by creating one spot within the code that controls all of the reiterations, so that when it is changed it will automatically impact the other spots.
2. Besides the single advantage above, another advantage is that it can allow for space to add comments to the procedure to define precisely what the procedure is meant to do.