Why is salt needed when using vinegar to clean pennies? Let's say you have a solution that is vinegar and it has salt (NaCl) dissolved in it. Then you place old dull pennies in it. Then you look at it 5 minutes later and the pennies are clean and looking like new again.

I understand acid can etch the copper compound but why is the salt necessary for this process and what exactly does it do?
The copper surface is oxidized, which slows down the formation of copper acetate. When you add chlorides to the solution, the chloride penetrates the oxide layer and creates a hole in that layer that allows acetate to react with the copper. To find more information on the effects of chlorides on the surface of copper look up copper corrosion and chlorides.