Why in SVM we use the dual theorem? I can't understand why we cannot minimize the norm of the weights w directly.
A quick answer: is that solving the dual problem is, in many practical cases, easier to solve (more tractable algorithms exist), than the primal problem and leads to the solution of the primal problem as well.
Exception to this, is Linear SVMs, where the primal problem is equally easy.
Note: The primal/dual is a general method that can be used in many areas of optimization, SVMs are simply one such application of this method.