Workbooks
A .twb is an XML document. It records everything about your workbook — sheets, dashboards, formatting, which fields sit on which shelf — but contains no data. Open one on a machine that can't reach the data source and you get the layout with nothing in it.
A .twbx is a packaged workbook: a zip containing the .twb plus a copy of the data extract and any local resources like background images or custom shapes. This is what you send to someone who doesn't have access to your database.
Data sources
A .tds saves connection information — server, database, joins, field renames, default formatting — without the data. It saves you re-doing setup on every new workbook.
A .tdsx packages the .tds together with the extracted data, in the same way .twbx packages a workbook.
Extracts
Older versions used .tde (Tableau Data Extract). Since 10.5 the format is .hyper, backed by the Hyper in-memory engine. Both are columnar stores designed for analytic queries rather than transactional ones, which is why extracts are usually much faster than a live connection to an operational database.
You'll still see .tde referenced in older interview questions and documentation.
The rest
.tbm is a bookmark — a single saved sheet you can drop into another workbook. .tms is a map source. .tps is a preferences file, and it's the one you edit by hand to define custom colour palettes.