First off I'm honored that Return to City 17 made people's lists
Secondly, I wanted to point out that if you take oc_cannon, add oc_newgappoi_f, combined with oc_fireteam, make it story-driven, and add oc_harvest's buying and selling strategy, you'll most likely have a TERRIBLE map!! Having every great feature in a map won't guarantee a great map - what makes these maps great is that they take a SINGLE theme, make it dominant, and any other theme inside of it usually takes a backseat. That said, it might be probable to fuse a small number of these concepts together successfully. For example, an oc_harvest doing farming while defending against dropship waves COULD be interesting, but most likely will just be chaos
So, as I was saying, what makes a great map (in my opinion) is that it takes one central concept, and expands it, occasionally throwing in other concepts when needed.
For example, oc_cannon_2 is a great map because it takes the idea of "combat-without-weapons" and expands it to fill up the whole map. (All things in moderation of course, I personally found oc_cannon_1 a little frustrating because it took the idea of "unkillable npcs" and expanded it to fill the whole map, but that's just me

)
Ok, well, now that I've gone off on that rant, let me espouse more of my ideas on what makes a great co-op map:
Really in my mind there IS only one thing that makes a great co-op map, and that is that a great map makes the players WANT to work together. Note that this is subtly different from FORCING the players to work together, (though that can also sometimes work). It usually does this by making co-operative play more profitable than just Rambo spray-'n-pray. Both oc_harvest and oc_cannon do this admirably, by having tasks that (while possible to do alone) have a substantially greater "profit" when working as a team. Pushing buttons is no fun, but when someone else is relying on you to load a cannon so they can fire and cripple the enemy ship, suddenly it's an exciting task!
Essentially, WANTING to work together means that each player has a role and feels useful in that role.
Forcing players to work together can sometimes be fun, but it's not always the case. For example, oc_docks has the crane puzzle, where one person gets in the crane and swings some hapless victim over to another platform (usually gibbing him in the process). In this case, it's fun, but slightly less fun, because there's no possible way to make any progress whatsoever when you're alone or when the guy in the crane goes AFK.
A slightly different example of forcing players to work together is oc_return_c17_05. In this, you have to escort three groups of citizens through City 17 to safety. If any of them are killed, the map restarts. Now, I could argue (as would others) that this an annoying gameplay mechanic, because if the person who's leading the citizens mucks up, everyone's screwed and has to wait for the map to change. That said, while playing on the net, I found that after the (at most) second time the map restarted, the players would
of their own volition separate themselves into "cleaners" and "escorters". The cleaners would go ahead of the escorters and take care of any nasty combine, while the escorters would bring up the rear and proceed only when the cleaners said it was safe to bring the citizens. This made the game much more enjoyable, because the players
knew that doing their jobs was both fun and essential to completing the map.
In conclusion, a great co-op map is one that encourages all players to work together as a team in order to accomplish something. Whether the mechanism is gathering points, pressing buttons, fulfilling a story, or just blowing enemies to bits, involving the players together will make a good game.