Why huge?
They seem to have put lots of effort into making it modular and expandable, so they use fancy technology like Jade for easy i18n (internationalization). Basically, jade lets the server use 'templates' to decide what text to send to the client. For example, a template for a popup might say "write X in Y style" where X is some data provided (eg, gold earned) plus text ("You earned " + X + "gold"). It also has aliases for all strings because that lets them i18n the app: instead of writing "You earned", they would put env.text('earnMessage') and somewhere in the annals of the code there is a folder en/ with text 'earnMessage' = "You earned <% number> gold!". Somewhere else there is 'earnMessage' = "<% number> 골드를 획득하셨습니다!" under folder kr/. And so on.
They also use Angular to make the site modular. Each popup is made so they're reusable in different contexts and stuff.
They use a 'buzz-tech' (like buzzword but for technology) called MongoDB which is a No-sql type database. It actually is known to be fairly slow and have many problems (such as data storage not actually being safe) but every hipster uses it! O_o
Their server uses Node.js, which uses Javascript to do server stuff! It automatically updates when a file is changed by using grunt.
1. Logins are actually pretty hard to do. I imagine they use a login library, which requires a bunch of code.
2. The whole dividing thing is done modularly and i18n-able. O_O The code for the status bar isn't actually -very- complex... just unfamiliar to me.
3. The X% chance of item drops has to be handled server-side, which causes complexity. Eg, send signal to get item -> wait for signal to be recieved -> get item back.
4. Buying and using equipment is the same--send signal for purchase, send signal for confirm, wait, sync up...
5. The tavern is actually pretty bad. I don't know why--I think it's because they wanted a system that supports Markdown. By pure functionality, an IRC chatroom with logs displayed on connection would probably be better. That also sounds a tad complex though, and it doesn't support pretty printing like Markdown.
6. I have no excuses to make on their behalf for this one. hawhaw
7. Same.
it's cutting edge because they use cutting edge technology. Angular, Node.js, grunt, Stylus, jade, MongoDB... all of the above are 'hot' technologies in web(app) development right now, from what I've seen. Then again, there's already more hip technologies like Go servers, Haskell servers, and... stuff. Cutting edge doesn't equal functional! My own web app (which barely has server state, mind you) uses relatively new technologies and still is kinda hard to use. >__>
However, I'm not saying that it can't be reproduced by a focused team. There is practically nothing you can't copy with enough money, time, and talent. \o/ Heck, I bet you could reverse engineer Intel's tiny nanometer-width chips with enough M/T/T.
Anyways, this has piqued my interest (it sounds like an interesting project to do--something similar to HabitRPG) and I would totally attempt to do it (if ugly and hacky), except I have to write college apps soon :C Not sure I'd have time, plus I need to wrap up my DNA visualization first.
Also, keep in mind that HabitRPG has been 2 years in development. It takes a lot of time to make functional webapps. And one final note, HabitRPG has a lot of users. That probably messes up their plans a bit.
Edit: reading up on Angular, it does seem extremely cool. Hmm.