Cloaking - also known as "user agent delivery", is serving different information to a GET request, depending on the content of the incoming HTTP_USER_AGENT field. Usually, this is actually used to send different CSS files, or slightly different, browser specific code (<blink> / <marquee> for instance), BUT it can also be used by some naughty
SEO's to send different text.
Send a keyword stuffed link-fest to Googlebot, and a vanilla sales page to "normal" users, and see what happens to YOU sunshine...
URL rewriting - typically used to removed complex, unfriendly variables from a URL, without varying the content displayed, its the kind of thing Google actively encourage, as it makes more of the web available to their endless quest for <jonny-5>INPUT!</jonny-5>. It is in no way cloaking