admin_url in plugins

First rule of wordpress development is to always use a core API if one is available, there is usually a good reason for its existence.

In this case, you are assuming something about how files are called and the URLs they are in. For an example were such an assumption will fail, is the (rarely ask about, but it is asked about) case of someone wanting to “prettify” the admin url and replace /wp-admin/admin.php?... with /admin/.... For this kind of functionality people will most likely override the admin_url result by using its filter, and it will not be possible to adjust your “hardcoded” URLs to fit in.

Granted, for this specific question the chance of any noticeable difference between the 3 alternative is close to zero, but it is a very good habit never to assume anything about the URL (or directory) structure when you develop a plugin or a theme that you intent to make available to everyone.