Whats the difference between modular forms of different levels?

There are inclusions $\Gamma(N) \subseteq \Gamma_1(N) \subseteq \Gamma_0(N)$, and correspondingly there is a tower of curves

$$X(N) \to X_1(N) \to X_0(N).$$

These are Galois coverings with Galois groups $\mathbb Z/N\mathbb Z$ and $(\mathbb Z/N\mathbb Z)^\times$ respectively (this is where the action of diamond operators comes from). The higher you are in the tower, the more modular forms there are.

There are various reasons why one might want to work with one level structure rather than another. For instance, $X_1(N)$ and $X(N)$ are sometimes easier to work with than $X_0(N)$ because they are (compactifications of) fine moduli spaces, whereas $X_0(N)$ is only a coarse moduli space. Having the universal property is quite convenient. The downside is having to work with larger spaces of modular forms; if you're interested in modular forms for $\Gamma_0(N)$ you then have to use the subspace which is invariant under Galois. But there's usually no loss of generality in working in a bigger space.

If you are working in finite characteristic, some level structures are much better than others. For instance, an elliptic curve over a finite field has $p$-torsion which is either $0$ or cyclic of order $p$, so such an elliptic curve doesn't admit a full level $p$ structure at all. However, it still admits a level $\Gamma_1(p)$ structure if it is ordinary.