Captain Marvel is a great example of the damage a trailer can do. I feel like I was robbed of the main enjoyment you could potentially get from this movie, because the trailer gave everything away. Going in, we already know Carol grew up on Earth, and we already know she’s gonna go Super Saiyan near the end and destroy a bunch of spaceships. What’s left to be surprised by? It would have been cool to actually watch an “alien” slowly discover she isn’t so alien, after all. And while that could have still played out in interesting ways even with trailer foreknowledge, it just… doesn’t here.
Carol is a bland character through and through. The only personality she has is the occasional and mandatory Marvel quip. Outside of that, she’s Super Serious and as straight-faced as they come. Each new revelation about her past on Earth doesn’t faze her much and feels like a poor attempt to humanize her in place of an actual character arc. Sure, there’s nothing wrong with having a solemn hero, but said hero needs a good supporting cast to play off of if that’s their angle. When Carol teams up with Nick Fury, the story does get better, but the two aren’t always together, and their banter often feels very forced.
Overall, Nick Fury is probably the best thing about Captain Marvel. Seeing a younger, more optimistic Samuel L Jackson was pretty fun. I’m not sure the movie benefited from being set in the 90s, though. The period music never worked, mostly because Carol felt so disconnected from all things Earth. And the other 80s and 90s references—Blockbuster, pinball machines, tin lunchboxes—were too on-the-nose. It’s like the creators were told to use Guardians of the Galaxy as inspiration but only watched it half-awake and didn’t take notes on why those elements worked there. Because they sure don’t work here.