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.