As for when we can expect a refresh, my bet is whenever Mountain Lion Comes out. I'd also bet on that being consistent every year.
We've been at a point with consumer grade computer technology that the average person will not notice a difference in performance from one or two generations to the next. We're also at a point where design changes aren't going to be drastic. A MacBook Air will only get so thin for example. As a result, people buy computers when their old one dies.
Apple wants to sell products more often than that. By launching new Macs along with new features in OS upgrades--much like is done with iOS--they tempt consumers with new features, not just a new looking computer or faster hardware.
While many users will be able to upgrade to the latest OS without buying new hardware, those who are a couple of generations behind may not be able to. Or they may find that the new features don't work as well on their older machines. More likely though, consumers will use the new OS as an excuse to justify the purchase--telling themselves that upgrading OS software is a pain and it's easier to just buy a new machine.
This also helps Apple keep their user base up to date. Let's say Apple releases a killer new iMac next week, along with a new MBP or MBA before Mountain Lion is released. They will sell millions of them to all the people who have been waiting to buy. How many of those people are then going to go to the Mac App Store and upgrade their OS? Probably less than half.
Keeping the user base up to date makes providing service easier and more efficient for the customer. It also forces third party app developers to conform to the new reality that Mac users are typically up to date, so their apps need to be up to date as well.
As for what I think we'll see in the update when it happens:
1. Ivy Bridge
2. Elimination of ODD leading to thinner design.
3. Retina Display
4. Software features of Mountain Lion will be touted as reasons to upgrade