Both are used to store the value during the postback in asp.net , but
In View state - not able to change the value by Client side code i.e java script.
Hidden field - possible to change value by Client side code.
In View state - You can store more than one value like Datatable ,Dataset,Collections and Object.
Hidden field - You can store only one value in hidden field