TensorFlow is especially indicated for deep learning, i.e. neural networks with lots of layers and weird topologies.
That's it. It is an alternative to Theano, but developed by Google.
In both TensorFlow and Theano, you program symbolically. You define your neural network in the form of algeabreic operations (these nodes are multiplied by these weights and then a non-linear transformation is applied, bla bla bla), which internally are represented by a graph (which in the case of TensorFlow, but not Theano, you can actually see in order to debug your neural network).
Then, TensorFlow (or Theano) offer optimization algorithms which do the heavy-work of figuring out what weights minimize whatever cost function you want to minimize. If your neural network is meant to solve a regression problem, you might want to minimize the sum of squared differences between the predicted values and the true values. TensorFlow does the heavy work of differentiating your cost function and all that.
EDIT: Forgot to mention that, of course, SVMs can be seen as a type of neural network, so obviously, you can train a SVM using TensorFlow optimization tools. But TensorFlow only comes with gradient descent-based optimizers which are a bit stupid to use to train a SVM unless you have lots of observations, since there are specific optimizers for SVM that do not get stuck in local minima.
Also, probably worth mention, that TensorFlow and Theano are pretty low-level frameworks. Most people use frameworks that are built on top of them, and are easier to use. I won't suggest here none, because that would generate its own discussion. See here suggestions for easy to use packages.