English is an incredibly crappy language for writing tight specs in. The only appeal of english as a programming language is that people who cut big checks speak it. It's completely inappropriate for expressing formal logic.
The problem is when people think "Hey, I have a computer science problem. I know, I'll express that problem in English!" and now they have two problems
Only until they "parse" the English using regexes. Then they have three problems. Four if you count "there are lots of trivial variations on the correct English phrasing, but none of them work, so you have to refer to the exact grammar anyway, this just made it bulkier."
That's my exact gripe with Cucumber. It's basically just regex soup that's designed to make other people think that you just feed raw intent to your computer and it divines the correct behavior. I honestly don't see how it adds actual value, when Ruby is already so damn readable.
Lots of people like it, so I'm sure that there's an argument to be made for it, but it feels unnecessary and crufty. Personally, I think that the strongest case for it is that it lets your manager without any technical ability feel like he's a useful part of the process, but it just seems like a solution in search of a problem.
The problem is when people think "Hey, I have a computer science problem. I know, I'll express that problem in English!" and now they have two problems