This sample online database shows possible scenarios of implementing column history tracking.
It's suitable for columns that are frequently changed.
With the help of record change trigger and record create action store "historic" data in a separate "history" table.
It's suitable for group of columns in table that are rarely changed but, when happened, it should be "documented".
Those columns should be placed into a separate form section and hidden "On Edit" using form behavior.
Custom button will be used to edit such group and, with the help of workflow action, store "historic" data in a separate "history" table.
It uses "Default/Calculate" property of "history" table columns to fill in initial values for "new state" record from "previous state" record with the help of many-to-many self-relation on details table.
'New' button on details view will be used to "edit" such columns.
Latest values may be brought to the main record with help of index summary columns.
Any support materials, such as spreadsheets and real-life work samples would be very helpful as they would help us better understand your business process.