There are two types of redirects you can use, a 301 and a 302. These numbers refer to the HTTP Status Code returned by the server for a given URL. A 301 redirect tells the search engine that the page has moved permanently to the new URL. A 302 redirect tells the search engine that the move is only temporary, and you may decide to show content at the original location in the future without a redirect.
All three major search engines handle 301 redirects the same, that is to say they ignore the original URL and instead index the destination URL.
301 redirects can be very powerful when you redesign your site and the URLs change, move to a different domain, acquire a new domain, or implement a URL rewrite. In most cases, this is the type of redirect you want to use because you know exactly how the search engines will respond.
The three major engines handle 302 redirects very differently, and because of this 302s are typically not recommended.
Google treats 302 redirects differently depending if they are on-domain or off-domain. An example of an on-domain redirect is athletics.mlb.com which uses a 302 redirect to http://oakland.athletics.mlb.com/index.jsp?c_id=oak. If you search for “oakland a’s” in Google you will see that athletics.mlb.com is displayed in the results because links point to that URL, which in turn uses a 302 redirect to the destination page. This is a great example where 302 redirects can be used effectively, since the shorter URL looks much more enticing in the results pages.
Off-domain 302 redirects would be ripe for hijacking situations if treated the same way. Because of this, in most cases, Google will treat off-domain 302 redirects like 301s, where they will ignore the original URL and instead index the destination URL. I say most cases because Google will sometimes determine that the 302 is legitimate & index the original URL instead.
When in doubt, use a 301 redirect.