This is a great talk at Stanford from cognitive scientist Douglas Hofstadter. It taught me to recognize the essential analogy-nature of just about every new understanding, and the essential category-nature of (nearly?) all words and phrase structures in language.
I also found this illuminates why building satisfactory taxonomy systems in databases (like those that power CMSs like WordPress) might be so difficult: Categories in our minds are essentially analogies, with varying degrees of complexity, but which grow and morph in meaning as we gain experience and learn. The edges are inherently fuzzy, and our mental hardware is optimized to make connections between them easily. In computer systems with fixed data structures, categories must have to be fixed, with clear hard yes/no lines, and (unless you have the benefit of complicated machine learning algorithms) connections between them must be intentionally and explicitly crafted by programmers.
At first this appeared to me as a fundamental alienating difference between biological and machine minds: Fixed, binary thought, versus flexible, analog (with its delicious shares root with analogy) thought. But, I suppose our own minds are built up of their own (however elegant and complicated) logic gate hardware — is the axon firing, or not? — and perhaps machine minds will come to work much like our own when sufficiently advanced, with layers upon layers of software on top of our contemporary primitive ones.