Being a passionate of Behavior Driven Development (BDD), working exclusively in this environment for more than one year (after tens of years of Agile), I am quite advised to say that it is almost perfect. It's easier to enumerate its pitfalls (only a couple) than enumerate its benefits.
According to Dan North, its creator, (see Wikipedia), "BDD is a second-generation, outside-in, pull-based, multiple-stakeholder, multiple-scale, high-automation, agile methodology. It describes a cycle of interactions with well-defined outputs, resulting in the delivery of working, tested software that matters.".
When trying to find a definition for BDD, I noticed in my practice that BDD covers a few methodologies in Agile and it's perfect for Business stakeholders, Business Analysts, Project Managers, Development teams, due to its power to gather everybody around a project and to deliver great results.
If you want to learn more on BDD, I recommend these two articles, along with the standard documentation:
Keep up to date