This allows them to avoid detection by scanning software. Scanning is used by anti-virus programs to check for specific sequences of code. Since the software can't keep track of every version of the virus, the virus may go unrecognized. In order to detect these a scanner must be able to imitate the virus' executable code. In other words it has to predict how the virus will change each time.
Some polymorphic viruses leave some bytes unchanged.
Usually this is a small length of the code and so detection still requires a lot of analysis of the virus code. These can be difficult to detect. Polymorphic viruses have made the job of a scanner extremely difficult. The programming that needs added to these once simple scanners is not efficient for what they are meant to do. Because of this, scanners are becoming less widely used.