Display (should) "physically" remove the element from the page (the layout adjusts to fill the gap) whereas visibility (should) remove the element but keep the gap.
In your original example, the syntax was incorrect. You cannot have regular HTML inside of the <script language="javascript"> tag. Instead, you would use something like the following:
<script language="javascript">layername = "drop";</script><a class="nav" href="AboutUs.html" onMouseOver="document.getElementById(layername).style.visibility='visible';"><strong>About Us</strong></a>
Note that the <strong> tags aren't messed up, and that you do not have conflicting double-quotes (you nest " and ', or escape the double quote by putting a backslash infront of it: \") ;)
However, as mentioned above, you can accomplish the same thing (hiding/showing) with CSS ;)