The short answer is because, for all of his faults, DJ talked to poor people, and his opposition talked about them. As progressives waged a campaign of hatred against whites, Christians, and males, the same just decided to stop voting for them.
I know a lot of Christians who (formerly) believed in progressive politics. But after seeing how 4 years of a progressive President left black households worse off than they were before, now they're not so sure.
I know quite a few males who (formerly) believed in equality of the sexes. But our former President nominated a SCOTUS justice because of the fact she was female, and our current one bragged about grabbing women between the legs.
I know a number of whites who (formerly) thought that racism was immoral. Now there are voices on the Right who consider racism a personal indiscretion, and on the Left who are convinced it's morally required, if it's directed against Whites, Asians, or other "privileged" groups".
While it is quite predictable that people will circle the wagons when threatened, it is difficult to overstate the effect that Left-leaning politicians have had in shifting public sentiment to the right, by pursuing a campaign of identity politics which alienated and threatened the very people who used to believe in their cause. And Biden's attempt to gaslight the American public ("Trump put you on the sidelines") left a lot of Americans with the distinct impression that the Democrats were fighting against them instead of for them.