MySQL's main storage engines are InnoDB, the default, and MyISAM. A storage engine stores and reads a table's data, and you choose one per table. Oracle recommends InnoDB except for specialized cases.
InnoDB: ACID transactions with crash recovery. It also locks rows, not tables, and enforces foreign keys.
MyISAM: table-level locking, with no transactions or foreign keys, for read-mostly data.
Memory, formerly HEAP: rows kept in RAM, very fast for single-value lookups, but lost at shutdown.
Archive: compressed storage for archival data. It supports INSERT and SELECT, but not UPDATE or DELETE.
CSV: rows stored as comma-separated text, for data exchange.
Federated: remote MySQL tables used as local ones.
NDB: the clustered engine of MySQL NDB Cluster.
SHOW ENGINES lists the engines your server supports. To check one table's engine:
SHOW TABLE STATUS WHERE Name = 'table_name';
Rewriting in plainer words…
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.