TensorFlow is an open-source software library for machine learning across a range of tasks and developed by Google to meet their needs for systems capable of building and training neural networks to detect and decipher patterns and correlations, analogous to the learning and reasoning which humans use.
Theano is a numerical computation library for Python. In Theano, computations are expressed using a NumPy-Esque syntax and compiled to run efficiently on either CPU or GPU architectures.
Keras is a high-level neural networks API, written in Python and capable of running on top of TensorFlow, CNTK, or Theano. It was developed with a focus on enabling fast experimentation. Being able to go from idea to result with the least possible delay is key to doing good research.