I've posted a response here: http://mattvanhorn.com/2013/09/19/a-case-for-cucumber/
We use cucumber extensively, our cucumber suite is not really that large, and with each new feature it becomes harder to maintain. There has to be some middle ground out there.
It's no more burden to write step definitions than it is to write RSpec directly. I use SOLID OOP to write my tests, most of the logic lives in regular old methods, and my steps look like:
Then 'the current subscription payment date should be tomorrow' do
verify_next_payment_date(Date.today + 1)
end
Since I start with the Gherkin file, I type less than 10 keystrokes to make the step.