I was reading something on Writer Beware which reminded me of this.
Don't sign a contract without a sunset clause. A sunset clause means your rights revert to you after a period of time. Normally, the sunset clause specifies both a time limit for publication and when your rights revert after publication.
With short stories, it's common to have a perpetual non-exclusive contract with an exclusivity period. That's perfectly fine for shorts. It's hard to sell reprints and the contract does not interfere with you, for example, putting up your backlist on Smashwords. Exclusivity clauses range from three months to two years, and some publishers will waive if the story is wanted for a Best Of anthology or similar.
With novels, a sunset clause should specify that you get your rights back 2 to 5 years after the date of publication. They normally contain an option to extend (so if your book is doing fine with that publisher and still selling, you can just renew).
Never sign a life of copyright contract on anything except a work for hire piece (And you should charge well for work for hire). Never sign a contract that does not return your rights to you if they don't publish it.
Oh, and never sign a contract that includes all subsidiary rights unless you are getting a lot of money. You want to be able to pocket that movie option if you happen to be amazingly lucky and get one.