There are two reasons why many votes for president do not matter. First, in all states except Maine and Nebraska, the state appoints as electors only the slate chosen by the party of the candidate that gets a bare plurality. This is the "unit" or "winner-take-all" rule. It is NOT in the Constitution. It has the effect of subjugating the minority in any state to the will of the majority. For example, it has the effect of causing Republican members of the Church of Latter-day Saints in California, Oregon and Washington to send no electors of their preference to the Electoral College. In short, the "unit" rule causes all votes for the runner-up candidate to be thrown away before they are ever tallied in a national count or before the Electoral College convenes to choose a president.
So voters who know they aren't going to be able to compose a plurality, like Republicans in California since 1992, have no good reason to vote for president. It's amazing so many do vote anyhow.
Second, a bare plurality of voters in a state triggers the "unit" or "winner-take-all" rule. Every extra vote beyond the one that makes a plurality need never be cast. These extra or surplus votes might as well never be voted. So why should a hard-working person take time off to add unnecessarily to a pile of votes for president? Clinton won California by more than 4 million votes. Maybe another million didn't bother to vote because the surplus didn't matter.
If Republicans and Democrats in California did not vote because runner-up votes and surplus votes don't matter, then do we know what the vote in California would look like if the national popular vote chose the president -- if every vote counted?