Wouldn't it be great if people were perfectly rational agents, gifted with objectivity vision and purged of all bias?
Of course you're right, you should discuss blockers whenever you have one. But people don't want to discuss blockers (or don't want to discuss at all), or don't identify something as a blocker, or would like to solve it themselves, or want to "protect the team" from this information, or think they'll get it resolved sooner without extra communication, or expect that they'll disagree on the course of action, or feel ashamed of having this blocker, or any other reason out of a hundred.
They won't rationally formulate it like I did just above, but it's just what people do: they get biased and their brain doesn't take the most rational course of action. A personal bias: I tend to prefer solving uncertainties by writing more code than talking to people. This is a stupid thing to do and I actively fight against it, but the fact is that I naturally tend to favour the "code" approach to the "communication" approach: standup forces to surface the problem and people can challenge me.
But that would require me interrupting one or more people in the middle of whatever they are doing and possibly ruining their flow. Unless there is a very tight deadline, work on something else and bring up your blocker when you know the relevant people have time to listen.
I also prefer not to interrupt others or to be interrupted. But if you send your problem as an e-mail, people can answer at their convenience.
My own experience is that frequently, the act of thinking about an issue long enough to be able to formulate a coherent e-mail about it makes the solution jump out at me before I even send the message.
In truth I normally do both. I'll send an email flagging that there is a blocker I want to discuss at the next relevant opportunity.
And I've also found that writing that email leads to me solving the problem at least 50% of the times (same with writing to forum posts of StackOverflow questions)
this is legit. sometimes i feel like i wait a little too long to gather notes or brainstorm possible solutions when i could probably get that going faster by involving a colleague and tag teaming it. it is a balance i am trying to work on because i feel like i “don’t want to bother anyone” a lot.