Does Survey123 have a built-in "Track Changes" feature like Microsoft Word to be able to track data changes and be able to see the changes to the data, and to then be able to approve or deny these changes.
Not completely. You need to consider using ArcGIS Server, a RDBMS, and maybe even something like branch-versioning based on what you have described.
You can set up a basic approval process like public submits a survey, default value is 'unreviewed', and then a staff member sets it to 'approved' as part of a review process.
You can consider using related records to track data over time through a table. e.g. maintenance record = new row, not updating the asset.
Otherwise all you have is the editor tracking, which only tracks creation and last edit dates.