Minecraft wiki entry for Defense, associated text: Coverage - All defenses need to completely defend the protected area or defense, so that mobs entering from any side or angle and of any type will not break through
Light - A regular system of lighting with torches, fire, or death is needed to prevent hostile mobs from spawning within the protected area
Sustainability - Defenses should work regardless of player input and, ideally can protect an area indefinitely, either by never degrading in the first place (e.g. walls) or by renewing themselves automatically
Ease of use - The best defense in the world is useless, if it kills the owner or friends. A good defense must be safe and easy to use. If you have to press 2 buttons and destroy a block to activate it, it is too complicated.