There are several mechanisms for searching and retrieving data, including:
1. Hierarchical classification, for example, the taxonomy of plants and animals one learns in biology class, the Dewey Decimal system used to organize library books. Yahoo began as a hierarchy defined by two Stanford university students and added free text search later.
2. Relational databases like a university registration system is another. One may formulate a boolean queries like "find me all students living in Santa Monica who are CIS majors."
3. Built in relationships, like "friends" on a social networking site. A single click will retrieve a list of your friends.
4. Free text search is the most widely used mechanism on the Internet. As with a relational database, users formulate boolean queries, like "find me all Web pages that contain the words Cuba, baseball and Fidel Castro."
5. Tagging gives us another option. Again, we use boolean queries, but in this case it might be something like "find me all images with the tag Capri and the tag car or auto".
Note that hierarchical classification and relational databases require someone to plan the data structure at the time the application is created.
With free text and tagging, the organization is defined implicitly by the users as they enter content -- articles and tags. For this reason tagging systems are said to create folksonomies (a cringeful word, right up there with "egg mcMuffin", "RSSify" or "cringeful").
Hierarchies, built-in relationships and relational databases are rigid. The hierarchical taxonomy or database structure or schema is defined before the application is used. A user cannot add a field to a relational database after it is deployed. For example, you could not add a field for "grade point average" to our class roster -- you are stuck with my schema. MySpace has "friends," but not "acquaintances" or "enemies."
Users of hierarchical taxonomies may disagree on classification. For example, two users might go to different parts of the library while looking for the same book. The bias of the inventor of the system is also locked in. Of the 100 book classification numbers Dewey set aside for religion, 88 (201-287) were reserved for Christianity. Judaism (296) and Islam (297) got one number each, and Buddhism (294.3) got only a decimal point.
Tagging and free-text search are more flexible -- evolving with use -- but they too have problems due to differences among user vocabularies. I may assign one tag to an image and you another. Two people might create Web pages on related topics, but their differing vocabularies might cause them to be widely separated in search results. Even spelling errors cause problems. The more rigid systems are more precise.
Note that people are working on technical solutions to these problems. For example, Google suggests alternative spellings for search terms and Freebase seeks to find a middle ground between the flexibility and openness of Wikipedia and the inflexibility and precision of a relational database.