Not to be preachy-pete, but I noticed a few people here talking about wrist pain. I know it's not universally applicable to every problem, but I'll put my two cents in for the Kinesis Ergo contoured keyboard. (That link goes directly to a frame -- lop off the page name for more info.)
I got this thing about nine months ago and have had little to no wrist pain since. It took about a week to get used to it, and I think it would be much more difficult (maybe impossible) if you're not a touch-typist. (But then you could argue that a coder not being a touch typist is like a carpenter not being good with a hammer.) Typing is one of the few things I learned in high school that I use every single day.
The keyboard is pricey compared to normal ones (around $250 for the Classic version), but considering the alternative it's worth every penny. It's also well-built -- my friend Christian has been using his for 4+ years and it still works great. He takes advantage of the macro and keymapping stuff of the keyboard as well.
One of the only difficult things is that once you get used to it going back to a normal keyboard is a bit of a chore -- takes about a half-hour for me, although I try to minimize it as much as possible. After I got a new job I took my keyboard to work with me every day to work on Java and brought it home to work on Perl. But I don't have to do this anymore since work just bought me one.
(Originally posted elsewhere)