As you certainly know, the correct comparative form of “bad” is “worse”, but one can rarely hear also the slang term “badder” (often used just for the comic effect). Nonetheless, “badder” would have been the correct form if “bad” were regular.
In American English, better is pronounced as /ˈbɛɾɚ/. “Badder” would be pronounced as /ˈbæɾɚ/. Given that the American /æ/ sounds almost the same as /ɛ/ (as “e” in get) in words like “ladder”, it turns out that “badder” and “better” are virtually indistinguishable in American English (at least for non-Americans).
Isn’t it funny that the “regular” comparative form of “bad” sounds the same as its opposite, so there has to be a different word for “badder” to distinguish the two?
P.S. Of course, in British English they don’t sound the same: “better” is /ˈbɛthə/ whereas “badder” would be /ˈbædə/.