What for the tables ending with the meta used in database of wordpress?

A meta table as it’s name suggests, is a table containing metadata for the parent table (for example, wp_postmeta contains metadata for wp_post).

These data are additional data stored in database to be retrieved when needed.

Let’s say you publish a post. The original post data will be stored in wp_post table, while the rest of the data such as attachments, custom meta boxes and … will be stored in wp_postmeta.

The column meta_id holds the ID of a metadata, just like when a post is assigned with an ID.

The column meta_key holds the key to that metadata, which can be used to retrieve the data by using the following:

get_post_meta($post_id, $key, $false)

This will return the meta_value of this particular key. There might be several values saved under one key name, which is why we have a third argument. By setting the third argument to True, it will return every value with the same key for this post.

The above example was to help you understand the structure of metadata in database. There might be other tables such aswp_usermeta in database too.

For further reading, please head over to Codex.