It should have ended after Cell's demise and Future Trunks' storyline was finished, with Gohan being the most powerful and Goku finally staying dead.
Cell was badass and every battle with him felt like the end of the world.
Majin Buu was ridiculous, silly, overpowered (nobody ever had a hope of beating him and so every battle did not feel like "oh wonder what will happen" or "oh no, hope someone doesn't die", it felt like "what plot device will show up this time"), and Mr. Satan cheesed up the show.
Fusion dance and SSJ3 made everything even more over the top... Seriously, dafuq is with Goku's hair?