At the end of the Avengers: Endgame movie,
old Steve Rogers passed down his mantle of Captain America
to Sam Wilson.
Why didn't he choose Bucky for this? Bucky seems more fit for the job as he is a super soldier.
Joe Russo explains it in the following interview.
"It made sense that it was Sam," Joe Russo said. "I don't think that there were significant debates at all. Bucky is portrayed in the films as very damaged, and not necessarily the guy that you would want to trust with another weapon because he can always be corrupted. And Sam, if anyone matches Cap's integrity over the course of the last few films, it's Sam. From the time that they met on the mall in D.C. through the end of this film, and he just seemed like the logical choice in the Marvel Cinematic Universe. We don't have all of the context that the comics have, we can only bring completion to the stories that we've been telling and that seemed to make the most sense."
Bucky would've been a poor choice for a few reasons. The events of Civil War show that his mind has been conditioned by Hydra to become receptive to orders after hearing a series of key phrases. As there is no direct evidence that this conditioning has been removed, it must be assumed that a Hydra agent with knowledge of these phrases could easily compromise Bucky.
Additionally, Bucky is shown to be reluctant to engage in combat prior to the battle of Wakanda in Infinity War. This is likely due to a combination of his mental vulnerability and his guilt over actions committed while affected by his conditioning. Furthermore it may seem insulting to the memory of Tony Stark, whose parents Bucky murdered, to pass the mantle to Bucky.
On the other hand Sam Wilson is a decorated veteran with an impeccable record and experience acting as an Avenger. While Steve and Bucky were childhood friends, their relationship has certainly had its ups and downs whereas Sam has consistently been an ally to Cap and a generally more reliable hero.