It tends to act as resource management, you shouldn't be working on things that your manager doesn't know about at least enough to make an "issue" for it.
But it's not a 100% must in all cases, just that there SHOULD be a ref there. The rule of thumb for us was if it's going to take more than 15 minutes, it needs an issue.
I can't seem to reply any more, but this is just for organization. you can create your own issue and work on it on your own, this is just a way to organize and categorize the commits and provide an easy "parsable" way to give some context to them.
Gross. That sounds like process for process' sake. Or you could, you know, just trust that your developers are working on actually useful things because that's what you hired them to do, and we're all professionals here, one hopes.
Maybe something like this is useful for _very_ junior developers who need a bit of hand-holding before they're steeped in how professional development in a team setting works, but if you still need this sort of thing after even a year at work, that'd be a huge red flag to me.