At the heart the key idea is quite simple. Namely, one views functions, endomorphisms, etc. as "numbers" and manipulates them as such (where valid). E.g. for a derivative $\rm D = d/dx\ $ we have that $\,\rm D^2 - c^2\ =\ (D - c)(D + c)\, $ just as for numbers, as long as $\rm\,D\,$ commutes with $\rm\,c,\,$ i.e. $\rm\,c\,$ is constant. So we can solve constant coefficient linear differential / difference equations by simply factoring their operator ("characteristic") polynomials into linear factors over $\:\!\mathbb C.\,$ We can also similarly perform certain transcendental operator manipulations such as
$$\begin{align}\rm f(D)\, e^{\:\!tx} =&\ \rm f(t)\ e^{\:\!tx}\\[.3em]
\rm e^{\:\!t\:\!D}\ f(x) =&\ \rm f(t\!+\!x)\\[.3em]
\rm t^{\:\!x\:\! D}\ f(x) =&\ \rm f(t\cdot x)\end{align} $$
and the Generalized Leibniz Rule
$$\rm g(D)\ f(x) \,=\, \sum_{n=0}^\infty\ \frac{f^{(n)}(x)\ g^{(n)}(D)}{n!}$$
For further details see Roman: Umbral Calculus and Rainville: Special Functions and especially Rota: Finite operator calculus.