I've been thinking about the film and I think I finally understand my main gripe with Avengers Endgame.
In my opinion, Avengers Endgame is a superhero film without any real villain.
I really didn't like how they had Thor decapitate 2019 Thanos at the start of the film. I know they provide a logical explanation for why Thanos was weaker and easy to kill (destroying the Infinity Stones damaged 2019 Thanos' body). The reason why I dislike that scene isn't because of it's logic. Rather I think it's a bad decision from a storytelling perspective.
IMO a good superhero film needs a threatening villain that can pose a significant threat to the hero. My favourite superhero films, from The Dark Knight to Avengers Infinity War, all have threatening villains that pose a huge challenge for the superheros. I think competent villains are important because they create a lot of tension in the film. Without a strong villain, a superhero film lacks tension, a sense of danger etc and without these qualities a superhero film doesn't feel very compelling to me.
Ever since Thor decapitates 2019 Thanos, the Avengers don't face any remotely good villains until 2014 Thanos but 2014 Thanos doesn't appear until the third act. The first and second act have no real villain and that's why they lack tension.
Instead the film tries to build tension by having characters doubt themselves which is okay but not enough. I think a better way for the film to create tension is to have characters doubt themselves while also facing an imminent threat from a dangerous villain. Infinity War did this very well with how they had scenes of Iron-Man worrying while also having him thinking of how to stop Thanos. This created a double layer of tension.
However there's nothing like this in Endgame. Iron-Man doubts the time travel plan will work but that's all. There's no huge villain who's coming to get him. It's only in the third act, when 2014 Thanos arrives, does Iron-Man realise that he has a huge villain he has to fight. However by then Hulk has un-done 2018 Thanos' snap. All the superheros have been brought back and we know they'll come to help Iron-Man. Thus that scene doesn't have as much tension as it could have had.
I think a way for the Russo Brothers to up the stakes was to have 2014 Thanos attack before Hulk un-did 2018 Thanos' snap. Suppose 2014 Thanos attacked the base just when Hulk was about to do the snap. Then the blast would seperate Hulk from the gauntlet. Then Hulk would have to race to find the gauntlet before 2014 Thanos could. It would be a race to who would get to do the snap first. I think that would have done a better job of upping the stakes.
In regards to tension, I also think this movie is trying really hard to inorganically force action scenes into the plot. Avengers Endgame is in an odd position. It's a superhero movie so it needs to have action scenes sprinkled throughout its narrative or it might bore the audience. I mean the audience can't wait until the third act for the fight scene. However 2019 Thanos is killed off at the start of the film. Thus the possibility of any kind of battle that 2019 Thanos or his thugs could start with the Avengers is eliminated. However there have to be fight scenes so instead we got unsatisfying fight scenes in the first and second act such as:
1. Hawkeye is hunting down some gangsters in Tokyo. Apparently the death of his family made him very aggressive. However we don't really see Hawkeye's aggression in any other part of the film. When he agrees to return to the Avengers, he goes back to being the same old Hawkeye. It looks like that action scene of Hawkeye killing gangsters was just inserted because Avengers Endgame is a superhero movie and needs action. However there were no villain available so the writers decided to throw in a Japanese mafia.
2. 2023 Captain America fighting 2012 Captain America. This is another fight which I think was only inserted because the movie needed action and no villain was available. In terms of spectacle, this battle wasn't that good. We've already seen superhero vs. superhero in Captain America Civil War. It's true that this time it's Captain America vs. Captain America but honestly, unlike Doctor Strange, Captain America doesn't have an interesting moveset. Seeing two Captain Americas fight each other isn't really that interesting.
3. Hawkeye vs. Natasha is another fight which I think was done just because the movie needed action and no villain was available. This fight feels very repetitive because Hawkeye and Natasha have already fought twice before (Avengers and Captain America Civil War).
Above all this, there are no real stakes to the above battles except Hawkeye vs. Natasha. We know Hawkeye is going to kill the Japanese mafia and we know 2012 Captain America won't be able to stop 2023 Captain America (who's older, wiser etc than his 2012 counterpart). These battles don't seem to be as interesting as the ones in the previous films.
So the above mentioned battles do a poor job of creating tension. I honestly feel like the only reason 2014 Thanos was brought into the future is because the writers knew they had written themselves into a corner. They needed an epic showdown at the end but they killed off 2019 Thanos so the only way they could rectify that was to bring 2014 Thanos as the main antagonist.
However the problem with 2014 Thanos is that he wasn't really built up. The reason Avengers Infinity War was so good was because they built up the threat of Thanos throughout the entire film so when Thanos comes to fight the different groups of Avengers at the end, he has a really strong, intimidating presence. However 2014 Thanos is absent for the first 2/3rd of the film so when he finally does appear he just doesn't have the same kind of presence that Infinity War Thanos had.
I think it would have been a better decision for the writers to keep 2019 Thanos alive and have him be the main villain. However I think the writers really wanted Avengers Endgame to be a time travel movie because time travel was a good way of paying homage to the previous films (Avengers Endgame was intended to be the conclusion to this saga so I can see why the writers wanted to pay homage) and give a good sendoff to the main cast (Iron-Man, Captain America, Thor etc). I think the writers were looking for some excuse to turn Avengers Endgame into a time travel film and having 2019 Thanos destroy the Infinity Stones was the best idea that they could think of.
In regards to tension, I think the movie does try other ways of building it outside of battles. The movie does talk about the dangers of time travel but that's a subject brought up in almost every time travel film. It's a threat that is very difficult to take seriously for even a casual movie goer. If the movie had one of the Avengers lost in time or something due to time travel then the threat might have some weight but atm there isn't much.
Regarding stakes, it's true the Avengers might fail to retrieve the stones but if so then are the consequences really that bad? I mean after 5 year timeskip almost all of them have basically moved on. If they fail to retrieve the stones they can just return to their 2023 lives which aren't that bad. Honestly I think the timeskip ruined the tension the film was trying to build. I think if the movie didn't have a timeskip and we were watching the chaos of a planet with half its population missing then it would have done a better job of conveying why it's so important for the Avengers to succeed in retrieving the stones.
The closest the movie comes to making time travel look dangerous is when Iron-Man loses the Infinity Stone to Loki in 2012. Then Iron-Man and Captain America have to risk going back to 1970 to retrieve the stone. If they fail, then they won't be coming back. However they succeed relatively easily. There's no villain or anything for Iron-Man or Captain America to face in 1970 so that scene also lacks danger and tension.
One last thing I'd like to add is that unlike the previous Marvel films, Avengers Endgame doesn't seem to take any significant degree of inspiration from any of the comics. Avengers Infinity War took a small but significant amount of inspiration from Thanos Quest and Infinity Gauntlet. However for Avengers Endgame, it looks like the writers didn't really try too hard to consult any comic. It looks like they largely wanted to tell their own story.