You need it for l1 and l2 regularization which is popular these days don't you?
Gradient descent would work for ridge regression (it would just be slow). It wouldn't even work for lasso, because the penalty function isn't differentiable at the origin.