I've been a long time fan of companies providing free lunch for their employees. The reason behind this is not providing a great recruiting gimick, but the theory is that your employees will take their lunch back to their desk and do some work. And yes, unfortunately I do this a lot. It's actually rare for me to go out to a restraunt with co-workers and enjoy a lunch out, which usually ends up taking at least 1 hour and 30 minutes.
The following article talks about how Google does it as well. The article brings up a great point about providing breakfast. I know most programmers, including me, don't care to show up early at the office since they like to work late, and get up late. But if you provide a hot breakfast till 8:30, employees are bound to make an extra effort to show up early.
http://rcpmag.com/news/article.aspx?editorialsid=8755