Cube complexes are analogues of simplicial complexes built using cubes rather than simplices. Under very mild combinatorial assumptions, they exhibit interesting geometric properties which make them useful in studying the fundamental groups of negatively curved spaces such as hyperbolic manifolds. In the talk I will introduce them and review the theory behind them. In particular I will show some techniques which allow to realize the fundamental group of hyperbolic 3-manifolds as fundamental group of a non-positively curved cube complex. If time allows, I will show the application of this construction to the proof of the virtual fibering conjecture.