As developers we see deeper into problems, we have a 'ground truth' of the state of the code base that no one else can see, and often gets ignored, because they can't see.
When requirements aren't detailed enough, people get frustrated with us because we're asking "stupid questions" about details that they don't believe matter, but that they would be upset about if we don't get them right.
When the code base is a mess, it's not on the restaurant floor, where everything seems fine, it's back in the kitchen behind closed doors where they never go. But it's hard to work in a messy kitchen, but everyone needs their food right now! Just get out one more appetizer, one more entree, as fast as possible, don't "waste time" cleaning up.
Some problems come from unknowns that we can't get help dealing with because other can't see them. Some come from know problems, that we can't get permission to address, because other can't see them. We're not hallucinating, but from an outside perspective we might as well be. It can be tough when others smile and nod, but you can tell by their actions that they don't really believe you. It feels like they don't trust you. And that can hurt.
All we can do is ask for that trust and try to communicate about those hallucinations as best as we can.