If I was a regular developer, working on a single part of a larger application, I would have zero problems working from home. Once you're in a position where you have to coordinate work with several other people, things are very different.
I can imaging that people who manages large teams have a lot of problems dealing with that remotely.
There are tradeoffs, but just the fact that nearly every single one of our conversations are documented and searchable is worth it alone.
You can’t just walk over to talk to someone anytime the notion strikes you, but you shouldn’t have been doing that anyway. I love to talk, and I love to think out loud. But every time I do that, I’m asking someone else to divert there attention to me.
Being remote allows people to turn off the majority of the interruptions and get work done when they need to.
And it forces me to spend more time thinking about my communications. Instead of just constantly walking over to people the moment an idea pops into my head.