I don't work frequently from coffee shops, but I go to one when I need to get work done and the choice is between home or coffee shop.
Why? Two reasons --
(1) being at a coffee shop is uncomfortable in such a way that its a constant reminder that I'm there to do work, not get comfortable, relax, etc.. Plus, it keeps me away from regular toys/distractions I might have at home or my desk at work. I probably don't know anyone at the coffee shop, so it means odds are, no one will bother me in person.
(2) I'm the type of person that seems to focus better when there's stuff going on around me, but nothing is glaringly stealing my focus. When I'm at home, I'll sometimes put on an action movie in the background and turn the sound down to a low level so its difficult to pick anything in particular out. The sound and motion helps me focus, for some reason. (Double edged sword, though -- all it takes is one person for me to focus on for whatever reason instead of my work at the coffee shop to shoot my productivity).