Flexible semantics
There is no predefined semantics for the relations between topics. Even the notion of topic type that was designed within the standard is not necessary. It suffices to consider that the topic which represents a type, a class, or a higher level category is no more than another related topic.
This flexibility allows us to define relation semantics that can be as nuanced, ambiguous, or complex that is necessary to describe precisely how two topics are related. It is always possible within a given application context to limit the number of applicable relations if needed.
Therefore topic maps can integrate taxonomies, based on strictly hierarchical relations, with other knowledge bases where relations are richer. It is also possible to add new values for relation semantics, to describe a specific case that was not planned in advance.
It is also useful to not underestimate the power of links without any declared semantics. Just the fact that two topics are related provides useful information, such as "see also" within an index, that doesn't say why things are related, but establishes the fact that there is a relationship between them.