I think what amiecook said was really interesting, especially the bit about the lampost: "For everything there is an opposite, it sounds simple but for a lampost there is everything that is not the lampost." Ferdinand de Saussure's work has a lot to do with these questions. Saussure studied linguistics and wanted to understand how we attribute meaning to words. However, when we start to think about how we define a word or concept, we quickly find that it's not really defined by what it IS, but by what it ISN'T. The simplest way to show this is by pointing out that we rely on other words to define a word. Another way of thinking about it is that a dog is only a dog because we have a bunch of other words/concepts that it is not. In language, a dog is a dog because it is not a chair, or a cat, or a presidential candidate. The notion of difference (not similarity) as primary within language (and perhaps thought?) have influenced a lot of really famous philosophers, including Jacques Derrida, Michel Foucault, and Gilles Deleuze.