The short answer is that using GET will append the values of your form to the query string automatically, by using POST the values of your form get placed into the header of the HTTP request.
Post is favored over Get because it allows one to send more data when a form is submitted (Get is limited to the maxium length of a request string) and, on top of that, GET will place ALL of your form values into the query string and this becomes a problem if you have data in, say, a hidden field that you require to make your application work properly. Users now have access to the values being passed around your pages!!
The only time I have every used GET is when I am working with external API's and am retrieving data from a ResponseStream, other then that I use POST.
Read this if you want to know how to get a correct reply for your question:
Technical Editor for: Professional Search Engine Optimization with ASP.NET
Why can't Programmers, program??