What restricts the number of cohomologies? Do different cohomology theories essentially just exist because there are distinguished homology theories associated with them? 
If yes, is it known if there is always a relation like the Poincaré duality? 
If no, is there such a thing as a universal cohomology, where you can map down to specific ones. 
In the same line of thought, how many diffent homologies can be defined for a certain compex and how many complexes can be defined for a certain topology?
 A: I think the more fundamental notion, from the point of view of homotopy theory, is that of a spectrum.  I will think of a spectrum naively, as a sequence of pointed spaces $X_n$ together with homotopy equivalences $X_n \simeq \Omega X_{n+1}$. In this case we can construct a cohomology theory on (nice) pointed spaces $A$ given by $A \mapsto [A, X_n]$ (in degree $n$), and a homology theory via $\varinjlim \pi_n(A \wedge X_{m+n})$. Any homology or cohomology theory comes from a spectrum, by the Brown representability theorem, but the spectrum is generally not unique (at least in the case of homology), because of the existence of so-called "phantom maps." However, you can do homotopy theory with spectra, e.g., make them into a nice and category with a fair bit of structure such as homotopy colimits and exact triangles.
There are forms of Poincaré duality that apply to generalized cohomology theories arising from ring spectra, under appropriate hypotheses: one needs the condition of orientability of the manifold (with respect to the ring spectrum). In this case, the statement of duality is quite similar to the usual one; see Adams's blue book, part 3 for a description.
(Incidentally, de Rham cohomology is not a "cohomology theory" in the usual sense of the word because it is usually only defined on smooth manifolds; insofar as it is, it is only ordinary cohomology with coefficients in $\mathbb{R}$.)
A: This is a really good question, and I think Akhil does a great job answering.
I just wanted to add a bit.
So just like Akhil points out, cohomology theories are really spectra in disguise and as he states for every cohomology theory there is a homology theory. I am not aware of any of these homology theories that can be described as the homology of an associated complex other than ordinary homology. For example, I don't think anyone knows how to associate a complex to a space so that the homology of it is the K-theory of the space. So this is not how they come about, but the story is more interesting in fact.
They come from Geometry more or less, or at least that is where they started coming from. Things like (co)bordism and K-theory come from Geometry. Bordism is about manifolds that sit over the space you are interested in. K-theory is about vector bundles over your space. These are both obviously very geometric objects, the fact that homotopy theory can be used to study this is, to me, quite beautiful. These were the first two homology theories that people recognized after ordinary homology. They don't happen to satisfy one of the Eilendberg-Steenrod axioms, the one about the value on a point being concentrated in degree 0. These two theories started a lot of interesting things.
Other cohomology theories, as far as I know, are still lacking in geometric interpretations though. What I mean by that is we think of $\alpha \in K^0(X)$ as being an equivalence class of vector bundles over $X$ (when $X$ is nice enough). We can do something similar for $MG_*(X)$ but I am afraid I will get some dimensions off (here $G$ is the structure group of the stable normal bundle of the type of manifolds you are thinking about over $X$).
We can construct a lot of other cohomology theories though. They mostly come from looking at $MU$ which is universal in the sense you ask about, although not quite. $MU$ is universal among all complex oriented cohomology theories. A cohomology theory $E^*$ is complex oriented if it has a well behaved choice of Thom class $u(\xi) \in E^*T(\xi)$ for $\xi$ a complex vector bundle over $X$ ($T(\xi)$ is the Thom space of the complex vector bundle $\xi$). If we want to think about spectra, we would just say that there is a map of ring spectra $MU \to E$. I know some of this seems like jargon, and I would not worry about digesting it now, just know that such a thing does exist when you add different adjectives. However, I am not sure about the relation to Poincare duality, although I am sure it is relevant.
K-theory is something I would suggest you look at if you feel really comfortable with de Rham theory. I would recommend looking at May's Concise Course, he has some really well laid out stuff on K-theory and cobordism. It moves pretty quickly though.
