From [Memory Alpha](https://memory-alpha.fandom.com/wiki/William_T._Riker#Apocrypha)

> Riker is promoted to Admiral in the Star Trek: The Fall miniseries, as Fleet Admiral Leonard James Akaar suspected a conspiracy in the upper echelons of Starfleet Command and needed someone in the admiralty that he knew he could trust. Despite his new position, Riker retains the Titan as his flagship, and attempts to go on missions in it whenever he can.

It seems his promotion was directly related to Fleet Admiral Leonard James Akaar and may not have been entirely on merit. Although he was clearly allowed to retain this rank later (Takedown). Remember that Thomas Riker stated *their* original goal was to obtain admiral by the age of 30. So becoming an admiral has always been an ambition of Riker's. 

Picard may not want to be promoted to Admiral because of his love of commanding the Enterprise

> Mere months after taking command, Picard was offered a promotion to commandant of Starfleet Academy with the rank of admiral by Admiral Gregory Quinn, but turned it down to retain command of the Enterprise.

And remember what Captain Kirk said to him: 

> Don't let them promote you. Don't let them transfer you. Don't let them do anything that takes you off the bridge of that ship, because while you're there... you can make a difference.