I don't think counting even 1-D holes is appropriate for intuitive understanding of homology. Take a torus for example: its 1st homology $H_1$ is generated by a circle along the torus (the "hole" in this case it the dohnut hole), and a circle across the torus (now the "hole" is the void inside the dohnut surface). The connection between the "holes" and homology generators is not intuitive. More importantly, homology is innate to the manifold, not its embedding, so there may be no holes to speak of.

I'd recommend to look intuitively at $k$th homology $H_k$ classes that are not zero as embedding of an oriented $k-$manifold $V^k$ into your manifold $M^n$ that cannot be contracted into a point along $M^n$, although I'm sure others would promptly correct me. Two embeddings of $V_1^k$ and $V_2^k$ represent the same class if there is an oriented manifold with boundary $W^{k+1}$ embedded in $M^n$ such that its boundary consists of $V_1$ and $V_2$ with one of them having opposite orientation.

As for cohomology classes $H^k$, they are dual to $H_k$ in linear algebra sense: elements of $H^k$ are linear functionals $w:H^k\to R$. 

IMO the best way to look at $H^k$ is from DeRham viewpoint, where elements of $H^k$ are represented by differential $k-$forms. The duality between $H^k$ and $H_k$ is straightforward: for $w\in H^k$ and $V\in H_k$ $w(V)=\int_V w $.