Think of them as array key/value pairs (kinda). These tables are used to store additional data about particular posts, comments, or users. The
meta_key is the name by which the
meta_value is retrieved, plus you have associations with particular posts, comments, or users by means of IDs. As far as structure goes, that is about it. These are "extra info" tables. You can even add to them via the backend.
*_postmeta is where the custom fields are stored.
WordPress stores, and plugins and themes can store, a wide variety or information there. Some of those tables have critical information, like role/capability data, but you may also have relatively trivial data like someone's Jabber handle (Is that even around anymore?), or a favorite color.