To some people, working from home might actually make them work extremely hard and long hours. The reason is simple. They may feel they need to show higher productivity.
On the other hands, to some other people, working from home might actually undermine their ability to product. The distraction around the house might be one of the many factors.
To be able to work from home effectively, the team has to conquer the communication barrier. More emails and more Skype call will help. The person has to have discipline to resist any kind of distraction and focus on their work for a reasonable period. The project managers have to plan properly and to stick to their schedule instead of constantly demanding output from the people. As long as the task is finished accordingly, the project managers shall never bother the engineers too much too soon.
I believe telecommuting is good to some employees and some companies. I have not much doubt that it will become the way of life in the future. In the meantime, the team and the team leader shall learn what work best to the company.

Marissa Mayer is on track to discover that she needs to work from home more than she thought. Just give it 4 years or so. You can get baby sitters for your kids any time but not for soccer games, school award ceremonies and other such things that require a parent's physical presence. You may not understand if you're just starting a family or being single. There isn't enough paid time off that an average employee gets to deal with family commitments, errands and doctor appointments. I think as soon as you become an executive or a manager you become apathetic to the needs of others. Look at Yahoo's quality, too much email spam, junk news stories and almost no innovation. Folks in China, Japan, Yahoo upper management and the dictatorships do not understand that innovation is a product of creativity and creativity comes from a free mind. Stress and management pressures results in finding ways out.

There are phases of my software engineering work that could easily be done at home, but part of our work place paradigm is that us engineers are always on the hook for production-floor problem-solving any time that someone wants to walk over and bug us. It can really kill an otherwise-productive day. You can really get sucked into a problem dealing with hardware/software you've never seen before. Then of course discrepancies in documentation are discovered which have to get figured out and fixed, etc. It can be a real headache. Yet, the deadlines for our "normal" engineering tasks don't change no matter how much we've gotten sidetracked. There's no working at home for me with my current company. I would love to be able to do it at least once or twice a week just to save the 60-mile round trip through really annoying traffic which takes 1-1/2 hours away from me every work day. And then we're forced to take a whole hour for lunch, so we can't eat in our cubicles and only take 15 minutes for lunch so that we can leave earlier. We have to be here during fixed hours for "support".

As soon as you said "... random face to face encounters that may spark original thoughts and chance collaborations" I realized I just read the same intention exactly in this article about Google's new campus design:
www.gizmag.com/google-bay-view-hq/26440/

I have been working from a (detached) home office
for 12 years and would just find another gig if
somebody decided I had to occupy a cubicle. Cubes
are one of the seven signs, that your management
is Satan's spawn.

Some tasks lend themselves well to remote execution, other tasks require or at least are much more efficient with physical interaction. Some people do well with it, I would not. I am easily distracted (by other more interesting things to do) so being at home would make it hard for me to get work done. Like many things, the answer is, "It depends."

In fairness to Marissa Mayer, she is just doing what she thinks is the right thing for Yahoo today. Tomorrow she may change her mind. I think people are reading way too much into her decision as an indictment of telecommuting in general, which I don't think is correct. I think she is just trying to spur innovation at Yahoo by having people exposed to the sort of random face to face incounters that may spark original thoughts and chance collaborations. These interactions can't happen if these people are working from home. I have seen good ideas emerge from discussions in the company cafeteria from a group of engineers just sitting around "shooting the breeze" over lunch.

There are times when working from home is very much dependent on the type of work you do. For instance, as an applications engineer, I could work on product specifications, layout circuit boards, or write application notes in the comfort of my home and avoid the hour plus commute.
I work at a remote site for a global company and we have team meetings with other remote sites in Asia and Europe. These usually happen before 8am or after 5pm several days a week. Many times I will call into the meeting from home, especially if it's early in the morning.
However, there are times when I have to be in the office. Evaluating a new hardware design or a customer issue requires access to equipment and other tools. Since I don't have a temperature chamber or $300K worth of specialized test equipment in my garage, the only option is to work in the office. Also, having someone else around when troubleshooting can be helpful.
A couple people here have dismissed the value of office talk. I find that having other engineer's around to brainstorm or help solve a problem is invaluable. I've never met an engineer who didn't benefit from having peers around to bounce ideas off of.

Dylan & Rick: I would say give employees both options! Make 1 to 3 days a week mandatory at office if group discussions with colleagues improves innovation (as Yahoo's CEO claims). I can vouch for those who work at home (honestly!) end up working more hours!
MP Divakar