Yeah, as you pointed out it would be impossible to calculate 3 moves ahead if it meant considering all possibilities. The reason humans can play so well (it's amazing really) is that we can pick out what's important in a position and use pattern recognition to calculate (what we hope to be) only meaningful moves/variations.
To break it down, IMO two separate skills are involved in calculation. To say "I calculated ____" means two things happened: 1) the person used visualization to see or at least approximate the new position in their mind's eye and 2) the person evaluated that new position. The better you can visualize the new position, the better you can form an evaluation. The more experienced and knowledgeable about chess positions you are, the better your evaluation will be.
Beginners start out by visualizing captures on one square (or in a small area) and base the evaluation on whether or not one player lost more pieces than the other.
So back to calculating... I think this is 1 of the 2 most misunderstood things about chess players... strong players aren't strong because they "see" a lot of moves ahead. The real strength is in understanding though experience and pattern recognition.
If you took a guy who's only played regularly for a few months and put him up against a master in a tournament length game I can almost guarantee you the beginner would calculate many many more moves. The point though is that the master would calculate much more relevant moves and make correct evaluations while the beginner would calculate all sorts of crazy variations and make haphazard evaluations.
Don't get me wrong, if you pit the master vs another master in a highly tactical game, the master would calculate tons more than a beginner. The idea is though when you understand a lot about chess, some positions don't require much, if any (!) calculation.
This is also why computers can make for bizarre sparing partners and can't be used to accurately imitate or estimate a certain rating/strength of player... because the method of play between human and computer is so different. Computers need to look at (and discard) literally millions of moves before they can play a strong game. It really is amazing how well humans can play.
So what I'm interested to know is: how is calculating defined? What does it mean when someone has "calculated three moves ahead"? To me it sounds like it means considering every possible move that they can make as well as every possible move that their opponent can make to each one of those. But if this is the case, wouldn't that constitute considering hundreds of possibilities just to calculate a few moves deep (all things considered, of course). It seems like one would have to picture a giant flow chart in their heads.
What is your take on it?