Tags are basically keywords you can use to describe posts, allowing you to easily search and explore posts based on their content. Consult the cheat sheet for a full list of what you can search on.
When you're tagging a post, use the following guidelines:
Replace spaces with underscores
For example, maria-sama ga miteru becomes maria-sama_ga_miteru. This small concession makes other features much easier to implement.
The following characters are stripped from tags: commas and semicolons.
This is somewhat complicated. In general, use whatever order the the anime uses. Failing this, use the ordering the character's nationality suggests. This typically means LastName FirstName order for Asian names, and FirstName LastName order for Western names.
But there are exceptions. Some characters use FirstName LastName order despite having Asian-sounding names. Subaru Nakajima is a good example of this (in all official promotional artwork FirstName LastName order is used). There is nothing we can do but shake our heads.
Some characters have a mixture of Asian and Western names. Refer to the source material for these cases. Failing that, the general rule is, use whatever ordering the character's last name suggests. Asuka Langley Soryuu has a Japanese last name, so it would become soryuu_asuka_langley. Akira Ferrari has an Italian last name, so it becomes akira_ferrari. But again, there are exceptions to this like setsuna_f_seiei. You can go ahead and curse the site for not standardizing on FirstName LastName ordering earlier on. It's too late to change the system now.
Use full names
Using full names reduces the chances of collisions. The definitive resource for character names is Anime News Network (note that all their character names use FirstName LastName order).
If you're not sure whether a tag is right or wrong, then post a comment asking for some opinions. There are plenty of obsessive Danbooru fans who will gladly weigh in.
Tags can be typed. This means giving classifications to the tags. One important point to note is that the types of tags on Idol Complex and Sankaku Channel are different. Users cannot apply an Idol-Complex-only tag to Sankaku Channel uploads, vice versa.
The available tag types on Idol Complex are:
Character, General, Medium, Idol, Meta, Copyright, Photo_Set.
This Help Page previously stated that there were 3 types of tags prior to being edited, that is incorrect, as the content of this page was copy-pasted from another website (E.g. Artist tag does not work on Idol Complex).
Adding previously non-existent tags (new tags) to uploads without defining the type will result in the tag being defaulted to the "General" type (orange in color). This happens when a user adds a new tag to an upload (E.g. Adding the previously unused Honda_Megumi tag through the tag editor found at the bottom of the uploaded content's page).
In order to create a tag and define its type at the same time, users would have to add the tag type prefix before the tag itself. (E.g. Consider the same example, but adding the tag as Idol:Honda_Megumi).
The types of tags that already exist cannot be changed from the tag edit box found in the page that displays the uploaded material. In order to change the types of these tags, click on "Tags" on the toolbar at the top, search for the desired tag, click edit, and make the necessary changes.
The editing of tag types and tagging require log in privileges.
Idol type is usually used to refer to a performer or an actress (E.g. JAV actress)
Character tags identify the tag as a character. They work exactly like idol tags, only you prefix with "character" (or "char").
The copyright type indicates the tag represents an anime, a game, a novel, or some sort of copyrighted setting. Otherwise they work identically to character and artist tags, only you prefix with "copyright" instead (or "copy").
Tag ambiguity is handled much in the same way that Wikipedia handles ambiguity. Users who search for an ambiguous tag are directed to a disambiguation page on the wiki, where they can clarify what they want to search for.
The flag for marking a tag as ambiguous is separate from the type. This means that an artist tag could be marked as ambiguous, for example. To mark a tag as ambiguous, prefix it with "ambiguous".