Is my following understanding correct:
A chain complex $(C,\partial)$ is a family $\{C_i\}_{i\geq 0}$ of $R$-modules ($R$ is a given ring) together with a family of $R$-module homomorphisms $\partial_i:C_i\rightarrow C_{i-1}$ such that $\partial_{i-1}\circ \partial_{i}=0$. The quotient $\ker(\partial_i)/Im(\partial_{i+1})$ is an $R$-module that we denote $H_i(C,\partial)$ and we call the $i$th homology $R$-module of the chain complex $(C,\partial)$ ( In the litterature, this last sentence is usually stated as follows: $H_i$ is the $i$th homology group of the chain complex $(C,\partial)$ with coefficients in the ring $R$).
A cochain complex is exactly the same as a chain complex with the same data except that the family of $R$-module homomorphisms are of degree $+1$ meaning that $\partial_i:C_i\rightarrow C_{i+1}$ instead of $C_i\rightarrow C_{i-1}$ in the previous case. Hence the quotient $\ker(\partial_i)/Im(\partial_{i-1})$ is also an $R$-module that we now denote $H^i(C,\partial)$ and we call the $i$th cohomology $R$ module of the cochain complex.
Now for specific chain and cochain complexes, the difference becomes clearer. Indeed, for a topological space $X$ we can construct a chain and a cochain complexes but the advantage of the cochain complex is that we can always define a product on the direct sum of the cohomology $R$-modules $H^i$ making the cohomology $R$-module $\oplus_{i \geq 0}H^i$ into an $R$-algebra.