One of the biggest reasons I think that in general I always see block_given? used in Ruby projects, is because &block is relatively expensive operation because it captures the block. Also see for example: 

http://mudge.name/2011/01/26/passing-blocks-in-ruby-without-block.html

Personally I would recommend against this point, mainly because it's not inline with how the majority of Ruby projects out there do this.