301 means Moved Permanently, not coming back, I've had it with this URL, so long, bye-bye, hasta la vista, via con Dios, Tsai-chien, ciao.
302-Found means, "The URL you have dialed has been temporarily forwarded" and the implication is that the page will return to the old URL at some reasonable time in the future. For this reason, clients should not update their record of the site's URL. So, you never want to use this to update a page's URL in a search engine, because it should not work... Note that I didn't say "definitely won't work."
307 is basically the same thing as a 302, except that 307 is an HTTP/1.1-only status, so you have to return it conditionally, based on whether the request was made using HTTP/1.1 or HTTP/1.0.
307 was created to 'disambiguate' the various response interpretations of 302-Found, along with 303, as described in the RFC2616 document you cited.