One important note, if you're looking to actually do standard tasks, use a higher level library. My favourite is fchollet's Keras[1] given that it supports using both Theano and TensorFlow as backends. It will likely support more in the future, giving you better performance (i.e. Neon is likely the next contender) and helping prevent legacy toolkit specific code.
I'm confident many of the issues with TensorFlow will be cleared up sooner than later, especially given it was only open sourced a month and a half ago. As an example, bidirectional RNNs are trivial to implement by yourself (~5 lines of code) but additionally TensorFlow has working code for that already in TensorFlow 0.6[2], the API is just not publicly listed.
Most important for this, single device performance is already at cuDNNv2 Torch levels for TensorFlow given the 0.6 update[3]. Both soumith and this evaluation haven't updated the numbers but Google replicated the benchmarks and presented them at NIPS. They're working on adding cuDNNv3 support, which should be another speed jump.
[1]: http://keras.io/
[2]: https://github.com/tensorflow/tensorflow/blob/master/tensorf...