I'm not yet versed in theory, though once I get into college I'll learn all about design and game theory. But for now, what makes the best map is if people find it fun or not. There are a few contributing factors to a map being fun.
First of all, I want to stress that presentation is half the battle -with StarCraft it always has been. I've always said this to new mappers, and will continue to say it forever. Presentation includes terrain, overall beauty, and learnability of the map. Basically, the map needs to give a great user experience. This means that your map can not be frustrating or too hard to learn, and it also needs to look appealing to the eye -at least enough to keep the map fun. When I create maps I stress my maps' beauty and professionalism as much as I can with the amount of time I am given.
In order for a map to be fun it needs to somehow stay away from monotony, and you need to provide the players with a goal to achieve. You can not make this goal too difficult to reach, or frustration on the players' part sets in. You also can not make the way to achieve the goal(s) monotonous, or there will be no sense of achievement to make your game seem worth the time. In order to stray away from monotony in PvP or PvM maps, you should stress variety. Give the players many different ways to kill many different things. Let the players find tactics to merge two strategies, or give the players the ability to use tactics to counter a certain strategy, and even counter certain counters. This becomes sort of a segue into balance; all players must have no inherent advantage over another due to sheer design.
Storyline can also be used to keep the player's attention, and to keep things interesting. Using a storyline, you can lay out in a comfortable way the goals of the game the player has, as well as obstacles. Storyline also affects the overall atmosphere of your map, but with StarCraft maps, storyline isn't too much of a key factor as a map can easily be fun without one.
Depending slightly on the genre, but as a rule of thumb: You need to keep a constant flow to the game. Keep the players occupied at all times, keep things fast paced. This isn't always true for all maps, but for the vast majority of maps, you need the players to constantly have something to do.
Lastly, you should be aware of your target audience. I've seen my own maps fall into utter oblivion just because I made the map for the general SC public when the map was geared towards more of people like us here at SEN. The maps I made in the past were all too complicated to learn for the average SC noob, and took too much effort to actually be good at for a lot of SC noobs to appreciate the map. A great example would be my Absorb n Reflect map. I spent probably 2 months creating that map (I was learning how to make maps all the while, it was an earlier project of mine), but only half the people who played it liked it. Either people loved it because they understood the gameplay before frustration drove them away, or they said it sucked and made no sense, leaving me snide remarks before exiting the game. This sort of ties in with the user experience, you can't make things frustrating or make things un-intuitive; you must give the average player enough in game resources of explanations for them to quickly figure things out on their own, and make learning the map fun.
None.