i think people just usually of vote against the incumbent when they think the current Situation is Bad, and in the current information climate its very easy to convince people of that. DNC seemed to basically pitch a lighter weight version of conservative/"centrist" talking points ("cut down on immigration" and "increase litigation over LGBT issues" vs "stop immigration" and "stop LGBT"), which is obviously cynical and evil but also an inherently losing strategy. stuff like that COULD have won in 2016 when Trump was offputting and easy to make fun of but doesn't have any shot now that his talking points have been pretty normalized.
the most disheartening part of this result to me is that its likely that any policy that focuses on helping minority groups (other than veterans lol) is probably going to be a net negative PR move for any campaign going forward. if (big if) a D candidate campaigns on, say, helping homeless people find employment and housing, an average undecided voter wont swing blue bc theyre not homeless, but could swing red because theyve been told homeless people are all dangerous rapists. don't really see any way that kind of thing doesnt just get worse, either.