I know you dont want to POST a form with a username and password where anyone could use the history to see or situations where repeat actions may not be desired (refreshing a page = adding an item to a cart may not be desired). So i have an understanding when i may want to use one over the other. But i could always have the server redirect the url after a get to get around the cart problem and maybe most of my forms will work perfectly fine with get.
WHY should i use POST over get? I dont understand the benefits of one over the other. I do notice post doesnt add data to the history/url and will warn you about refreshing the page but those are the only two differences i know of. Why as a developer might i want to use one over the other?