Surprising applications of cohomology
Here is a ridiculous application of cohomology: a proof of $$\sum_{j=0}^n {n \choose j} (-1)^j=0.$$
Let $X=(S_1)^n$ be the $n$-dimensional torus. By the Künneth formula, $H^j(X, \mathbf Q)$ has dimension ${n \choose j}$. Therefore, the Euler characteristic of $X$ is
$$\chi(X)=\sum_{j=0}^n (-1)^j \mathrm{dim}_{\mathbf Q}H^j(X, \mathbf Q) = \sum_{j=0}^n {n \choose j} (-1)^j.$$
On the other hand, $X$ is a compact Lie group; let $\sigma$ be an infinitesimal translation $X \to X$. By the Lefschetz fixed point theorem, $\chi(X)$ is equal to the number of fixed points of $\sigma$, i.e., $0$.
Close to a real-world application is maybe the application to mixed finite elements.
Finite element exterior calculus
In a nutshell: Instead of solving numerically $$\Delta u =0,$$ one approximates the solution of $$ \mathrm{div}~ u = \sigma \quad \text{and} \quad \mathrm{grad}~ \sigma = 0. $$ Both formulations lead to the same solutions $u$, but surprisingly, there is a high risk to get a completely wrong solution by a naive finite element approximation. (Slides with pictures, examples (and the theory))
Mixed finite elements are for example used in elasticity or fluid dynamics, where the pressure $p$ a Lagrange multiplier, lives naturlly in different spaces than the deformation $\varphi$ of the material. It was known before, that the choice of the approximation spaces of $p$ and $\varphi$ is crucial. Numerical solutions might exist, but they can differ tremendously from the real solution, also for high resolution simulations. (Lack of stability.)
the use of (co)homology leads to a unified understanding of this area. First, you have to find a Hilbert complex such that the associated Hodge Laplace equation is the PDE of your interest. Finding the right complex or combining several complexes to build a new one, involves application of tools from homological algebra.
If the numerical approximation implies a bounded morphism between two complexes which preserves the cohomology groups, then the corresponding finite elements are stable! (Of course, there are some typical assumptions for finite elements which also have to be statisfied.)
I love the fact, that here numerical mathematics benefits from an more abstract approach and actually this technique also helped to solve previously unsolved problems!