Canonical Model Let $X$ be a scheme such that the dualizing sheaf $\omega_X$ exists and is invertible (for example if $X$ surface and Cohen-MaCaulay). This allows to define the canonical model $f: \mathbb{P}(\omega_X) := Proj(Sym(\omega_X)) \to X$.
My question is what philosophy & geometrical intuition hides behind this constrution?
I know that in some cases (for example see Castelnovo criterion for resolving $-2$-curves this provides exactly the resolution of the singular point. Futhermore, it might happen that in $Proj(Sym(\omega_X))$ that might be easier to calculate birational invariants of $X$. 
But is there any intuition / geometry behind this concept of canonical/anticanonical model of is this just a useful tool without any geometrical intuition?
 A: First, let me expand on Mohan's comment. If you take the relative $\mathrm{Proj}$ of a line bundle over $X$, you get a variety that is isomorphic to $X$.
On the other hand, the canonical model of $X^{can}$ is defined as $\mathrm{Proj}(R(X,\omega_X))$, where we define the pluri-canonical ring $R(X,\omega_X) = \bigoplus_{n \geq 0} \Gamma(X,\omega_X^{\otimes n})$. In partiuclar, the rational map goes in the following direction: $X \dashrightarrow X^{can}$.
There are a few reasons why to consider the canonical model.
First, if you are given an abstract variety, $\omega_X$ is the only ''line bundle'' (maybe it is something weaker, as a reflexive sheaf of rank 1) that is intrinsecally defined (well, its dual too). So, for instance, if one is interested in a coarse classification of normal, projective varieties of dimension 2, $\omega_X$ is one of the very few objects that is automatically given, and on which to base your study. So, you may want to group together surfaces whose canonical model behaves in a similar way (e.g., group surfaces depening on the dimension of the canonical model).
Then, we can give a rough geometric motivation as follows. Say we are looking at varieties of dimension $n$. The Kodaira dimension of $X$, denoted by $\kappa(X)$, is the dimension of $X^{can}$. We say that $X$ has negative Kodaira dimension if $X^{can}$ is empty (i.e., $\Gamma(X,\omega^{\otimes n})=0$ for all $n \geq 1$), and we say that $X$ is of general type if $\kappa(X)=n$. Then, roughly speaking, we have that varieties with $\kappa(X)<0$ have positive curvature (e.g., $\mathbb{P}^n$), varieties with $\kappa(X)=0$ are flat (e.g., abelian varieties), and varieties of general type have negative curvature (e.g., a Riemann surface with genus $g \geq 2$). So, for certain values of the dimension of $X^{can}$, we can detect the curvature of $X$.
Now, it is not a chance that varieties of negative, zero, or maximal Kodaira dimension appear. The minimal model program shows that every variety can be birationally decomposed into iterated fibrations of varieties with $\kappa(X)<0$, $\kappa(X)=0$, or $\kappa(X)=\dim(X)$.  So, we can consider these three groups as building blocks of varieties.
Taking the canonical model is one of the pieces of this algorithm. If $X$ has negative or maximal Kodaira dimension, we stop. Otherwise, we study the rational map $X \dashrightarrow X^{can}$. Assume for simplicity that some multiple $\omega^{\otimes k}_X$ of $\omega_X$ is basepoint-free. Then, the rational map $X \dashrightarrow X^{can}$ is a morphism. Furthermore, up to replacing $k$ with a multiple, the morphism is given by the linear series $|\omega_X^{\otimes k}|$. Then, one can show that the general fiber of $X \rightarrow X^{can}$ is a variety of Kodaira dimension zero. So, the study of $X$ has been reduced to the study of varieties of Kodaira dimension zero (the fibers) and a variety of smaller dimension ($X^{can}$). Then, one can iterate this process on $X^{can}$, until we stop.
Finally, the canonical model comes in the picture also in the study of varieties of general type. Assume that we are interested in surfaces of general type with certain properties (assume we fix some invariants, such as cohomology groups, properties of the pluri-canonical ring, etc.), and that we want to construct a moduli space of some sort. It is reasonable to expect that different points of the moduli space correspond to different birational classes of surfaces (if we did not put such restriction, we could blow up more and more points on the same surface while preserving all the constraints on the invariants initially posed, and the same birational class would appear uncountably many times). Thus, we need to choose a representative of a birational class in an intrinsic way. As we restricted our interest to varieties of general type, the map $X \dashrightarrow X^{can}$ is birational. Therefore, $X^{can}$ comes as intrinsic choice of representative of a birational class for varieties of general type. In the case of smooth surfaces, this exactly corresponds to contracting the rational curves along which $\omega_X$ has non-positive intersection.
