Because the system currently only supports 2 parties for president. We would need current politicians to be selfless enough to make the necessary changes that would allow for a 3rd party to receive enough funding and media coverage for the vast majority of the American voters - who pay no attention at all to politics - to hear about them. Our politicians only work for themselves, and have no reason to work against their own interests by introducing a 3rd party - hell, they've almost condensed down to a single party, but at least one side of it is still keeping up appearances enough to only terrorize its people a little bit so that they can say they're better than the other guys.
Presidential voting is just trying to use the system to change the system, which only works when the system itself works. The current system is broken to the point that presidential voting won't fix it - the best we can do is make sure the lesser of the evils wins until we can garner enough support for an actual overthrowing of the system, then begin the work to make one that would allow for politicians that actually care about us. A presidential vote to make actual change is a wasted vote, because a vote no longer holds that much power in America. The best it can do on its own is hold back the greater evil.
For local elections you should absolutely vote for the most progressive person you can, because the voters that don't pay attention don't even show up to those votes, making them much more volatile to the point where a true leftist can win. Maybe we'd even be able to get a new generation of politicians to change the system from the ground up over the course of several decades, if the country lasts that long. But the presidential election is far too padded by people who would vote for their party's candidate even if they killed their own mother - it can't suddenly change, not in its current state.