One quibble: I thought the advantage of the hyperplane method used by SVMs is that it can model non-linear boundaries between groups that are not strictly seperable linearly. So the reduction of SVMs to 'good for building linear boundaries between classes' seemed a bit wrong relative to what I know about SVMs (admittedly, not an enormous amount).
Great point. The kernel trick. By transforming the non-linearly separable dataset into a higher dimensional space that is linearly separable, you can use an SVM classifier in that higher dimensional space to find a good decision boundary.