TYPO3 v8 has reached its end-of-life March 31st, 2020 and is not maintained by the community anymore.
You can order Extended Long Term Support (ELTS) here: TYPO3 ELTS.
The TYPO3 Core Engine is the class that handles all *data* writing to database tables configured in $TCA. In addition the class handles commands such as copy, move, delete. It will handle undo/history and versioning of records and everything will be logged to the sys_log. And it will make sure that write permissions are evaluated correctly for the user trying to write to the database. Generally, any processing specific option in the $TCA array is handled by TCE.
Using TCE for manipulation of the database content in the $TCA-configured tables guarantees that the data integrity of TYPO3 is respected. This cannot be safely guaranteed if you write to $TCA-configured database tables directly. It will also manage the relations to files and other records.
TCE requires a backend login to work. This is due to the fact that permissions are observed (of course) and thus TCE needs a backend user to evaluate against. This means you cannot use DataHandler from the frontend scope. Thus writing to tables (such as a guestbook) will have to be done from the frontend without DataHandler.
The features of the $TCA are described in the TCA Reference.
TCE also has a part for handling files. The file operations are
normally performed in the
File > List module where you can manage a
directory on the server by copying, moving, deleting and editing files
and directories. The file operations are managed by two core classes,