According to my knowledge, hidden form fields are an alternative for HTTP's stateless nature. They act as a session token, much like cookies do. How can one use hidden values to modify prices?
Hidden form fields cause some data to be sent with a form. For example:
<form method="POST" action="/post_answer">
<input type="hidden" name="question_id" value="161719">
This way, if I type an answer in the textarea, the server knows that this answer is for question 161719.
This is different from a session token. A session token is stored in a cookie and identifies the session. What you perhaps mean is that the question ID could be stored in the session instead. That is true, with a slight change in behavior: if I visit multiple questions in multiple tabs and answer them out of order, the question id in the session will be incorrect. The one posted with the answer in the hidden form field will still be correct.
So, how can you modify prices? If the form looks like this:
<form method="POST" action="/finish_order">
Enter your shipping address: <textarea name="address"></textarea>
<input type="hidden" name="price_to_pay" value="$123.45">
<input type="hidden" name="order_id" value="6789">
price_to_pay is sent to
finish_order, and you are charged with $123.45. However, you can easily modify this value to be charged less. Whether this works and whether your order still ships depends on the implementation of the website, and the procedurial checks in place.