If my business pays for a great programmer, I want that programmer's knowledge, experience and attitude to diffuse to the rest of my team (... not that I have a business, just sayin' :-). Much harder to do this if that great programmer isn't in the office.
None of those things actually require physical proximity. It might take a little more effort to get right, but there are a lot of great programmers out there that don't want to relocate (or be tied to an office) and some of the might be worth it.