By the third revision on a real job, somebody is wrong about what the allowance used to be. History is the record that settles it.
What gets recorded
Every insert, update, and delete on a spec item is captured: who did it, when, and which fields changed with their before and after values. The capture happens in the database itself rather than in the app code, so there is no path that edits an item without leaving a trace.
Where to read it
History is a page in the project sidebar. It reads newest first as a timeline: the item, the action, the fields that moved, and the timestamp.
Use it when a number is disputed, when you want to know whether a change landed before or after a client approved, and when you are handing a job to somebody else and need to explain the last two weeks.
What it is good for
The common questions it answers cleanly are "when did this allowance change and to what", "did anybody touch the kitchen after the client signed", and "who deleted the powder room vanity".
What it is not
It is not a rollback button. History tells you what a value used to be so you can put it back deliberately; it does not revert the project for you.
It also does not track everything in the app. It covers spec items, which is where the disputes happen. Project settings, sharing state, and product library edits are not in this timeline.
History and approvals are different records
An approval or a signed change order freezes a full snapshot of exactly what the client agreed to, hashed so it cannot be quietly edited afterwards. History is the continuous change log underneath that. When you need to prove what somebody agreed to, use the approval record; when you need to explain how the sheet got where it is, use history.