Any form which is used to cause some sort of effect that changes things somewhere (upload a file, purchase a product, send a message) should use the post method. If the result of the form's processing only returns information without actually changing anything (site search, display selected data, etc.) then you should use the get method.
The get method allows the resulting page to be bookmarked, as the relevant form data is in the URL, while since the post method sends the data separately without anything in the URL, its effect cannot be bookmarked.
The one exception to using the get method would be if your form sends a lot of data, as there is a limit to how long a URL can be.