You said from "one site to another," as in across two differing domains? If that's the case, step one is to make damn sure you're not passing sensitive material, as both GET and POST will transmit unencrypted.
That being said, both have the same basic function, there are just a few key differences between GET and POST that will typically make the decision for you.
First, GET variables are actually listed in the URL. So if you don't want a long address line, don't use GET. However, having all the variables in the address line makes it very easy to generate a link with necessary accompanying variables, and/or to redirect a page after processing (search for "zen_get_all_get_params" in the Developers Toolkit for examples).
POST variables, on the other hand, are stored in the header contents of the submitted page, so they don't appear in the URL. This makes it a lot cleaner, especially with lots of variables. You can also transmit arrays in POST; not possible with GET.
Downside is that you can't do the simple redirection you can with GET (as they require a standard HTML form and a submission action). It's also tougher to see your variable values at runtime (to see GET just look at the address line, but POST doesn't appear in the HTML source output).
Personally, I like POST, because it makes cleaner URL's and I have developer tools that allow me to look up the POST variables when I'm debugging. But if I have a page where I only ever have one or two variables, I'll use GET just for ease of use and tweaking.
Hope that helps. :smile: