Carnage is realistic and consistent. It's easy to say he's product of the edgy 90s and end it at that but if you gave someone like Richard Ramirez a symbiote Carnage is what you'd get.
The Joker on the other hand makes no sense as a character. His character bounces around from mastermind who plans out his crimes with precision to mass murderer who kills at the drop of a hat. In some works he's just a crazy guy who does what he does because he finds it funny, in others like The Killing Joke or The Dark Knight he's s nihilist philosopher who's trying to make some major point about humanity. He hates Batman and tries to kill him, he's Batman's buttbuddy and saves his life. Depending on the writer the Joker can be anything, he's not a character, he's a gimmick. A one dimensional character like Carnage is infinity better than the Joker because at least he has dimensions. Carnage can be written out of character, the Joker can never be written out of character because his only character trait is "He's crazy!" which means whatever you want it to mean, sometimes it even means "He's so crazy he's actually super sane!"