Politics is nothing but compromise
I have been very critical of the Right for how they deal with Donald Trump, adopting an "all or nothing" mentality that is often disconnected from reality. With that established, we should not let the Left off the hook with this "all or nothing" mentality. If a conservative has some disagreement with Trump on policy or criticizes his character, then that conservative is compromised and a hypocrite, and is a moral degenerate for supporting him. This is an absurd exaggeration.
Let's be clear: I have never in my life ever voted for someone I did not have some disagreements with, and neither has anyone else. Why? Because that is how politics works. Even when I voted for myself in 2006, 2015 and 2018, I agreed with all of the policy positions I advocated (obviously) but I know I fall short as a person in terms of personal character. (We all do, obviously.) So even when voting for the one person I agree with on policy 100% of the time, I am still voting for someone I know falls short of the best standard of good behavior.
Politics has been called "the art of compromise," but in reality politics is nothing but compromise. No candidate is perfect, and no legislation is perfect. That has always been the case and that will always be the case. The question is not whether you vote for someone you disagree with, because if you vote, you have done that. The question is how much disagreement we are willing to tolerate and how that disagreement balances against the policy and character of the candidate of the opposing party. There were many conservatives who did not like Trump very much, but voted for him to vote against Hillary Clinton.
The biggest blind spot among some is a total unwillingness to recognize the failings of the Democrats. Beyond personal character (and Mrs. Clinton was called "Crooked Hillary" for good reason) there are serious and substantive differences on public policy. Do I like every policy Trump has implemented? Nope.
But would I rather have him than someone who is going to advocate for expanded abortion access and taxpayer funding of it, further restrictions on religious freedom, significant expansions of gun control, more environmental regulations that are harmful to the economy, wealth redistribution schemes, restricting choice in health care markets by eliminating private insurance, and many other things? Yep. Am I willing to vote for Trump on the basis of the policy I do like and to stop Democratic policies I do not like? Yep.
Minor parties exist, obviously. I have voted Libertarian a number of times and I voted for the Constitution Party candidate for President in 2016. But if we are going to be realistic, almost every election is a binary choice between the Republican and the Democrat. Gary Johnson was never going to be President, and neither was Darrell Castle. The 2020 election will see either Trump re-elected or one of the Democrats - and the latter option will be very bad for this nation. So let's pus aside this simplistic, all-or-nothing mentality and start thinking of elections as the complicated choices that they really are.