Quantum annealing vs adiabatic quantum computation I had this impression that quantum annealing is an optimization technique which may or may not produce exact solutions. On the other hand adiabatic quantum computation always gives exact solutions when it gives a solution. But this D-Wave report says as follows:


  D-Wave processors compute by piggybacking on quantum annealing. A
  quantum annealing processor can be operated as a universal quantum
  computer. In this regime of operation, the computational model is
  referred to as adiabatic quantum computation (AQC), which can be
  thought of as the long-time limit of quantum annealing.


Should I think that adiabatic quantum computation is an application of quantum annealing?
Adiabatic quantum computing (AQC) is a computational model (as Peter said in the comments). Compare AQC with other models of computation such as: 


circuit-based quantum computing (CBQC) 
Adleman-Lipton model (a model for computing using DNA)
Turing machine model (a model where computations are done with symbols on a tape)


One can devise algorithms using the AQC model, such as this algorithm for factoring integers: http://arxiv.org/abs/1411.6758. 

Quantum annealing is a physical process which attempts to implement such algorithms. Start with a set of quantum states, and a time-dependent Hamiltonian $H(t)$ such that the ground state of $H(t_F)$ at a final time $t_F$, encodes the solution to your problem. Let the states evolve according to $H(t)$, and hope that in the end one of the candidate states ends up in the ground state of $H(t_F)$.

If you're lucky enough to have a qubit that starts in the ground state of $H(0)$, and $H(0)$ evolves into $H(t_F)$ slowly enough, then according to the "adiabatic theorem", the qubit always remains in the ground state of $H(t)$ for all $t$, and you are guaranteed to get the right answer which is encoded in the ground state of $H(t_F)$. This is what the AQC model has in mind, but since it is experimentally difficult to start in the ground state, we sometimes try to implement AQC algorithms using quantum annealing, which unfortunately might not end up in the ground state.