Introduction
When you run Jenkins jobs, you want them to run on specific machines or environments. Labels help Jenkins pick the right machine (agent) to run your job based on what that machine can do.
When you have multiple Jenkins agents with different software installed and want jobs to run only where compatible tools exist
When you want to separate jobs by operating system, like running Windows jobs on Windows agents and Linux jobs on Linux agents
When you want to dedicate certain agents for heavy tasks and others for light tasks
When you want to control job distribution to avoid overloading a single agent
When you want to test your application on different environments automatically