I'm actually working a lot with jam right now.
Why would you want that on the front-end? Well, the same reason you'd want it on the back-end: You don't want to deal with the stupid crap that comes with installing/managing dependencies and their many versions. I should be able to setup a new project, enter in the dependencies I need and have a package manager fetch everything required to get going. In addition, if I need something later down the line, I shouldn't have to hunt down a version of a module that works with my stack. I should be able to do something like "npm install package." Jam is the package manager that allows you to do that for AMD specified modules.
AMD specified modules were designed with the Web in mind. They're more flexible (your module doesn't HAVE to be a damn object) and I think they're more in line with Harmony Modules - Maybe not though.
Jam is the Npm of the web (at least that's the hope!). It has its own registry separate from npm. Which makes sense. You don't want to mix the two as they have different needs. Lesscss for node.js is different than Lesscss for the browser and the browser doesn't need all the unnecessary build tools and who-watchits. Its registry is still in its infancy and the creator, Caolan McMahon has informed me he'll be moving the site to its own domain soon. I'm working on getting more modules up.
RequireJS uses the AMD spec and works in tandem with Jam. RequireJS is a lot less intuitive for the web at first but once you get the hang of it, it can actually be really beautiful. Especially if you're using Jam. It focuses on the fact that on the web, modules are loaded asynchronously. It forces you develop in a different style, but the style is great. You may already be developing in that style and you're using something more lightweight like LabJS . And you're probably saying, why the hell do I need to add all the extra crap? Well, once you use Jam like you use Npm on the back-end, you'll never want to go back. Plus, Require really enforces asynchronous programming.
But Ender suffers the same drawbacks as Browserify: It's utilizing a registry and module specification that isn't for the browser. So there will have to be extra work to get them to work.
Jam and Require seek to remedy this by creating a repository specifically for the browser and a module loading system with the browser in mind.