BDD is a useful collaboration tool (amongst other purposes). One of the main benefits is the shared language between customers/business analysts, developers, and testers. This is facilitated by the Three Amigos meetings, where all three sides try to come to the same conclusion about the requirements.
If you have a custom made software, a company A hires a software development company B to build the app. Someone from the company A represents the business to the product owner from company B, and in turn, this product owner represents the customer to the development team.
But, what happens when company B is developing software without the requirements, for example, when creating a mobile store app? Who is representing the unknown number of potential users to the team? Where is the product owner collecting requirements from?