The real reason? Simple: people are lazy as shit. If you give them a chance to slack off, they will.
I don't agree that people are lazy, but you are pointing out one potential problem with telecommuting.
A potential problem with having a Slashdot discussion is that you're generally talking to a bunch of programmers. In this case, this is a problem because you're talking to people who are used to having a particular kind of job, where it's relatively easy to measure output. I wouldn't generally have a problem with programmers telecommuting because what I care about is their output, and you can assess whether they're doing what they're supposed to by looking at the quality and quantity of their output.
But there are different kinds of jobs. With some jobs, there's not a real "output" that you can look at. They aren't building something where you can look at the results and say, "If this is well made, then this person did a good job." The job might have deliverables that can't easily be produced remotely, or the job's purpose might have completely different dynamics. To give a really simple example, it doesn't make sense for a McDonalds worker to telecommute.
I've managed a few helpdesks over the years, and I generally don't like people telecommuting for that purpose. One reason is that I need to make sure there's coverage at any given time, and it much harder to gauge who's actually available when if they're not physically present. Another is that it really helps to be able to see who's frustrated, who's struggling. I can overhear what's going on, and just as important, the technicians can overhear what's going on. They can hear how others are handling their calls. They can pick up good habits from each other, and they can hear when someone is struggling and say, "Hey, let me help you with that." Sure, I could try to use metrics and base people's performance on number of cases closed per week, or customer satisfaction surveys. Anyone worth their salt knows that, at best, those metrics don't tell the full story.
Meetings are also more problematic with telecommuters. Things like Google Hangouts seem like they'd take care of it, but you end up wasting a bunch of time because someone is having webcams issues, or you can't hear people very well and people have to repeat themselves. If you can just get away with text chats, I find that actually works better, but that doesn't work for all communications. Sometimes a quick in-person chat is really so much easier and more effective.