People talk about work as if it's all the same thing and then wonder why there's vehement disagreements all the time.
From my experience, an all remote team works especially well if either:
1. The employees are also the customers. This means you can trust everyone's judgement about decisions to a large extent and you can afford to skimp on user research and not have it overly impact the product. If you're making a SAAS tool for developers, then a lot of hard design stuff becomes easy.
2. The metrics for success are very clear. If everyone has agreed on a common goal and it's easy to evaluate yourself based on that goal, then everyone can work productively with a minimum of discussion. Backend services tend to work this way. Once the API is defined, you're judged on performance, uptime, usage and other fairly objective metrics.
3. The business can be split into fairly modular components with strong contracts between each component. If you only need to communicate at the boundary, then you have enough bandwidth to do it remotely. A lot of ad tech is this way where certain business functions become easy to abstract away from others. If you're building a consumer facing product though, the line between sales and marketing say, is never rigidly defined and there's fluid, complicated feedback loops between the two and ideally they should be co-located so they can collaborate in unpredictable ways.
Where interpersonal bonding becomes the most important is building consensus over risky decisions. If Bill proposes a wild and crazy idea that needs everyone's buy-in but nobody thinks will work, if you don't trust Bill, then you're going to push back because you think it'll be harmful for the company/team. However, if you've spent a lot of time with Bill and understand the way he thinks and believe he might be crazy like a fox, then you might jump on board even if you don't think it'll work because Bill is awesome.