Halo 3 sucks.
The story makes little to no sense. It really feels like they had an idea for settings and then strung together plot points for how to get there. The characters are written extraordinarily poorly, like bad fanfic from Halo 2; Truth is one of the biggest examples. Relatable, interesting and somewhat cunning in Halo 2, turned into "bad guy madman". Rather than explore anything about the Covenant or their inner workings, especially interesting as they had just split at the start, he's made as a voice of a moustache twirling villain. Him being relegated to taunting on a TV camera in-game is fucking silly. 343 is likewise ruined with his ""twist"". What the fuck did they do with the Gravemind/flood? Keyes is so unlikeable it hurts, with some of the most stomach-churning, eye-rolling dialogue ever put in a mainstream game.
Then Bungie decided to kill off characters haphazardly - dev commentary on it shows that they finished the story, realized there was no impact without death and so just killed off a bunch of random characters. It sure feels like it.
Gameplay is likewise shit compared to 1 and 2. The typical gameplay loops from 1 and 2, juggling shield and flesh damage, is nearly completely gone. Mixtures of brutes, grunts, jackals and flying insects never live up to the original formula with elites. Completely subjective but it never gelled with me, especially anything with 3's Flood. Holy fuck, those flood forms that can form stationary spine turrets are some of the most annoying damage sponging enemies I've ever faced.
Graphics is good, especially for 2007. The old FOV took away from that, and made it feel like you were looking down a tube at all times. The music is probably one of the best aspects of the game, Marty delivered. Can't comment on multiplayer since I only played it with the MCC years later.
The best thing to come out of Halo 3 is probably ODST, and half that game worked purely because it had some soul.