The other two suffer from potential drawbacks. Ideally, an interface button will operate on 'mouseUp'. That means that once it is clicked, the user has the option to move the pointer off the screen button and let go of the mouse button to cancel the operation. Web page buttons are always activated on 'mouseDown' and because of the general tardiness of the system and the fact that the button may not change in any way when clicked, the user doesn't always know what, if anything has happened. It is possible to give a screen button a coloured frame which changes colour like hypertext when clicked but this function is often omitted deliberately for aesthetic reasons.
Image maps suffer from further problems.
As well as a lack of visual feedback, the 'hot' areas of the image are often unclear. Client side' image maps, which do all the calculations on the local machine, are supported by recent browsers but not older ones, so it is dangerous to use them as a sole means of navigation. Look at the source of this page to see how to do that using onmouseover . It is the web page designer's responsibility to overcome these limitations. In the endeavour to be creative and stylish, it is all too easy to overlook basic functionality.