Depends on how you use it.
If you use intelligent codes....
1) It allows you and your resources to delineate between similarly named
tasks, like "Test Code"
2) It forces you to consider how your project is structured.
3) It can be used in documents like a RACI chart or Quality Management plan
to ensure that you have appropriate quality control and completion controls
around each of the specific deliverables.
4) It can be used as a basis for tracking work and effort against specific
deliverables, and not against specific tasks.