This is specific to JS in the browser for a traditional multi-page site (i.e. not a single-page app).
For single-page apps, the advantages are pretty clear: the main view page is going to be long-lived, and it will load any number of sub-views which may all have different JS dependencies. Loading all your JS up front is not ideal for something of non-trivial size, so having explicit, structured dependency declarations and using an async script loader seems like the way to go.
However for a more traditional, multi-page design, where each page is a full, separate HTML page, I'm not seeing the benefit. In this design all your JS dependencies are known at page load. So ideally you'd just put those all together into a single script on the server side and download it in one go - loading separate modules with separate requests would be bad for performance.
So when you guarantee that all needed JS modules are there on page load, I don't see the need for something like AMD. You can use the module pattern to create modules - you can use simple objects to create namespaces. Is there something that I'm missing?