The United States government is based off of the concept of federalism--that is a sharing of powers between the national and more local forms of government.
The Electoral College is the only effective "check" that the states maintain on the federal executive branch.
All this talk of the Electoral College being a check for the states against the federal government really doesn't make sense to me. A check on what? Ensuring that the President must win a majority of the states in order to win the Presidency? What purpose would that serve? That doesn't even exist currently as the electoral vote is based on population (every state gets 2 EC votes for their 2 senators + 1 for each of their house seats (which of course are allocated based on population) and DC gets 3).
Should we give every state one electoral vote and have them award it via winner-take all plurality elections? Wouldn't that be fair to the states? Oh wait, that wouldn't be fair to the people. Nobody cares about giving the states this kind of disproportionate influence in the Presidential election. They already have the senate where they get two senators per state regardless of their population.
A national popular vote is much more fair to the people. The only reason Ohio and Florida get so much attention over other states in the election is because of the Electoral College. EC votes are awarded via winner-take-all so candidates campaign heavily in close states in hopes of getting their EC votes and awarding EC votes by gerrymandered congressional districts is bad as well. Proportional allocation of the EC votes (60% of the state vote = 60% of its EV votes) is better than by congressional district but even that has problems from the aforementioned 2 EC votes to every state regardless of their population.
The Electoral College is an archaic relic that serves no purpose today other than to undermine having the winner of the popular vote be the winner of the election. It should be abolished.