For many times when I see someone says "I am blocked", I want to ask them: "In what sense?" In many cases, they are not truly fully blocked. It's just one of their projects has paused, waiting for another thing to finish to continue. For the time being, they could have worked on other projects before the "blocked" one is unblocked.
Too much "I am blocked" is an indicator that the person is unwilling or incapable of adjusting course as needed. It's much easier to say "I am blocked" than to put thoughts in how to shuffle the original schedule and re-prioritize work items, which requires additional brain cycles. It's easier to blame others: "I can't get my job done because I am blocked".
When I closely examine some organizations where there are a lot of "I am blocked", I also find some engineering culture problems behind it. In those organizations, people try to impress their management by promising more things (than what they can deliver). Therefore, during the development cycle, they are overbooked. They can barely keep up with their own original commitments and have little time left to help others. As people have hard time to get traction when they need unplanned work from each other, they exaggerate, hoping that saying "I am blocked" can help get some traction.
In engineering teams which use agile development, it's more likely to hear people say "I am blocked". It's not that agile development is the culprit. It's mainly because many people mistakenly think agile means they only need to think about what to do in the current sprint and not need to worry about the next sprint at all. When the next sprint comes, they start to realize some critical dependency is not ready. So they scream "I am blocked".
In an organization where "I am blocked" is abused, it becomes harder for people to differentiate which one truly needs help immediately and which one can wait. It's like if everybody calls 911 to say "I am dying", it will be hard for 911 to decide whom to send ambulance to first. In the real life, 911 may ask a couple questions to find out whether the man is truly in danger or just in panic. In engineering teams, asking such probing questions may be seen as unwilling to help and bureaucracy: "why waste time asking so many questions, rather than just fix it for us?" It just makes the team culture more unhealthy.
In my observation, high efficiency people are much more unlikely to say "I am blocked". They know how to keep themselves productive. Likewise, an efficient manager knows how to keep his team productivity and keep making progress. They also plan ahead really well. They anticipate that they will need some thing from the other team six weeks from now. So they make the request to that team six weeks earlier, which in turn also helps that team to better arrange their work. If everybody can do more delicate coordination and planning, better tracking and early communicate, there will be less "I am blocked", projects will be less stressful and the team culture will be healthier.