The "Discover" role is to allow the users to know that a resource exists in Jenkins. If the Anonymous User doesn't have "Read" role and have "Discover", they are asked to login.
During a pipeline it is specially useful during a input step. If the Anonymous user has the "Read" role, the step fail after the Ok button is clicked. If it doesn't have, he gets a 404 error and thinks there is an error.
The "Discover permission" does not work while in Blue Ocean. If the Anonymous User has the role Discover but not the Read role, both the main job page and the input page give a 404 Not Found error. Here are the failing urls of the job "teste-aprovador":
If I go to the old interface and go to the "Paused for input" build link:
Jenkins correctly asks me to login so I can see the page.
Here is the sample configuration: