Gonna rearrange your post a bit to group topics…
Don’t be silly - there are certainly cases where a voter might think that no candidate is discernibly better than the other. Two obvious drivers for this are ignorance and equivalence.
Ignorance - you don’t really know what evil lurks in the hearts of men. When there are not stark differences in the platforms offered, or if you aren’t a party-line voter and like elements of both stated platforms, the difference comes down to what the candidates will actually do when taking office - which is something candidates often lie about. If you haven’t got some idea of their personalities, then you could easy have no basis for comparison - and not have enough belief that there is a difference to justify doing research.
Equivalence. Picture a single-issue voter - one who cares about nothing but their pet issue. If both candidates support the issue equally (as far as you can tell), then meh, who cares?
In most cases you’d see these situations come up when choosing between candidates within the same party, like if you were to vote at a primary. (Which all people aren’t expected to do because it’s well-known that most people won’t care who wins.) But there have been times (many years ago) where I legitimately didn’t think it mattered who won the presidency, because regardless of who won they I believed they probably wouldn’t drive the country off a cliff. Would they do slightly different things? Maybe, but I didn’t really care; either way things would turn out fine in general - at least as far as I knew.
That hasn’t been true for quite a while, mind you.
There’s a few different ways to do each, and they’re not the same.
Making a joke vote or staying home because you legitimately don’t care is, in my opinion, perfectly fine. You’re not failing to voice your opinion, because you don’t have an opinion.
Making a joke vote or staying home because you’ve done the math and are absolutely certain your vote has no chance whatsoever of effecting the result is, in my opinion, fine, but not as fine as an apathy abstention. Note that you have to have a decent finger on the pulse of your community for this to be valid - and you can’t rely entirely on past poll numbers, because you yourself have been tainting those.
And making a protest vote or staying home because you think that your victory is so assured that you can afford to throw your vote away on the third party candidate is awful, far and above a worse action than either of the above two. This is how a winning party loses.