The electoral college is definitely better. In a popular vote, the majority would always win and the minorities would be powerless. That's not democracy, that's just the tyranny of the majority. Democracy is about giving as much power as possible to each individual voter. The smaller the election, the greater the probability that it could come down to a single person's vote making the difference. So a lot of small elections are more democratic than a single big election.
And it's not just about statistics. This is a diverse country. It's not one big clump of people, but thousands of distinct regions and communities with their own demographics, values, priorities, and the like. The president needs to represent all those different communities and their varying needs. So it makes sense for the presidency to be decided by many regional elections rather than a single blanket election that doesn't take all that diversity into account. By having to target different states and regions, by having to balance electoral math rather than just go for the big number, presidential candidates have to campaign locally and pay attention to the views of many constituencies, including small ones.
Once I read a science magazine article about a statistician who'd done an analysis proving that the electoral college system was more fair overall (that's what made the point about many smaller elections giving the individual more chance of making a difference than a single big one). The article drew an analogy to sports tournaments like the World Series. In the World Series, or Wimbledon, say, it's possible for the team or player who scores more points to win fewer games (or matches) and thus lose the tournament. Because each game is different, and some have more points scored overall than others, or in some cases the win is by a larger margin, or whatever. It wouldn't make sense just to add up all the individual points across the whole tournament, to treat the whole thing as one single contest when it's actually a set of different contests. The reason we have tournaments with multiple games rather than just playing one big game is that it's a more valid and fair way of determining merit. Winning a single contest can come down to chance factors, but if you can win multiple contests in a row, that's more likely to be because you've earned your victory through the quality of your achievements.
So we determine the winners of sports tournaments not by how many points they score, but by how many games they win, because that's a better reflection of merit. In the presidential election it's the same way. We don't elect the person who gets more votes, but the person who wins more local elections -- who comes out ahead in the majority of the distinct regional contests, taking all the differences among the various contests into account.
Some people complain that because it's possible for the person who gets fewer votes to win the Electoral College, that's a corruption of democracy. But that's missing the point of democracy. Like I said, democracy is about spreading the power out to everyone as fairly as possible. And that means that sometimes, the minority gets to win. If the system is stacked so the minority never wins, then you don't have a fair distribution of power. After all, it's not about any single election. The minority may win one race and the majority the next. Nobody can win all the time, but the goal is to give everyone a fair chance of coming out ahead. By the same token, yes, certain "swing states" may be disproportionally important in determining the outcome of a given election, but since demographics, populations, and politics can shift, a state that's crucial in one election may become irrelevant in a later one, and vice-versa. It's not really possible to homogenize things in any single election; the goal is to balance out the distribution of power across elections in general, so one group's advantage in one has the potential to be balanced by a different group's advantage in another.