1) Generally, I keep my Macs for 3 years. Once AppleCare expires, I'm shopping for something new and selling my current device. The nice thing about Macs (specially Macbooks) is that they hold their value well and, unlike the vast majority of PC counterparts, actually have value at 3 years of age. This "rule" isn't hard and fast though, depending on the specific features of any given release, I've been known to upgrade at as early at 18 months.
I'll upgrade my machines "as I go." Take my quad-core for example, I upgraded that to 8GB of RAM and added the 256GB SSD and 7200 RPM 750GB drive on day one. I booted the machine w/the stock hardware once to verify function, shut down, and upgraded. Once 16GB is more affordable, I'll upgrade it again. The same w/the SSD/HDD combo, as bigger/faster alternatives are available, I won't be afraid to upgrade. Upgrading these components are part of the reason that I'm able to hang on to a computer for 3 years, w/out the upgrades I'd be looking at a much more aggressive refresh cycle.
2) I use my Macs for work. I do everything from running SSH sessions via Terminal to running 5+ virtual machines synchronously. I prefer a fast machine with some portability (which is probably why I own 2 17" MBP's). When I'm on the move, I usually bring my 11" MBA since my tasks are not quite as intensive on the go (or, when I have intensive tasks, I find ways to deal with the decreased performance). I'm a big believer in using the right tool for the job and I have multiple tools in my arsenal (from MBA's to MBP's to dedicated 16-core servers) to accomplish that.