Why is Garp only a Vice Admiral? It is clear that he is very powerful due to his fights with Gol. D Roger. He is also very experienced in fighting and has the confidence to defeat Admiral Akainu (magma).

So why hasn't he been promoted to Admiral? Did he deny the promotion when the option was given to him? Or was it because he lacked a Devil Fruit?

Note:  All of the Admirals has a Devil Fruit. Golden Buddha, Magma, Ice, Light.
He refused to be promoted to Admiral several times. 

In Chapter 0 (Strong World), he said that he had the freedom to do what he wants that he needed as a Vice Admiral (being the third highest rank in the Marines) and felt being promoted would just require him to do extra things that he had no interest in.