It plays into their philosophy on bringing back dead characters based on actors contracts. You are 100% correct they could bring anyone back at any time, and they even introduced the means to do it, but Evans, RDJ and ScarJo were just done playing the characters. So you can recast or move on, and I think since they are treating this as a giant storyline spanning decades they are moving on. Gamora was bright back because she has interest in continuing and they had a way to make it work into the movie.
It comes down to what you want in these movies, if you are fine recasting they could have Iron Man forever with zero stakes (for as much stakes as these movies ever have), or you could have a guy play him for more then a decade, have everyone love the character and actor and when he sacrifices himself its a super powerful sad scene because you wont see him again. He wont be recast 2 years later played by someone who cannot possibly live up to it, and have nerds constantly arguing who is the better Tony Stark.
I will agree having Winter Soldier become CA would have been great, but Sebastian Stan might not want to do this for as long, and this gives the opportunity to lose his shit and beat the fuck out of Captain America which is always fun.