When I first started in gamedev, C2 was the first engine I really worked with, I had no experience with game programming, so C2 seemed like the lowest barrier of entry. It was extremely easy to pick up and after a few weeks I was at the point where I could make any game I wanted, with the only limits being my imagination. You can go from knowing absolutely nothing to being able to put complex mechanics together very quickly in C2, the amount of learning resources between the documentation, tutorials section and other places around the web are massive, not to mention the forums here which are very active with very helpful mods and members.
I ended up working on a game in C2 for about 6 months, but ended up having to look for another engine because of performance problems that were unacceptable because of a publishing deal , this was nothing to do with C2, everything to do with web browsers, Chrome especially was broken, the problem was affecting all html5 engines at the time, the problem has since been fixed. Like you I wanted to learn game programming but had been using C2 and the event system and was like great now I have to go find another engine and start from zero, I know nothing about programming because I have been using the drag and drop event system in C2. I tried a bunch of different game engines, and the thought of even making a basic prototype in a real programming language seemed like a daunting if not impossible task at the time coming from a drag & drop engine, but after no time at all I got some basic prototypes working in GameMaker Studio using GML, Unity using C# and Gideros using Lua, plus a couple more engines/languages. I quickly learned that the C2 event system will teach you game logic, how to structure event/code, how things work together. I started realizing oh these events in C2, they are same as the code in any other language, they work the same way, these events, they are if statements, these are loops, these are functions, the create, update etc game states are all there in C2 and they work the same way in any language. So without even knowing it the logic and structuring of the events in C2 was helping me learn how any programming language works, I had no problem at all translating my C2 events into GML, C# or Lua code, it was just a matter of learning the syntax of a language.
I ended up working on a bunch of prototypes using Unity, released 2 native mobile games using GameMaker studio and made html5 versions of the those games using C2.(Because html5 games in a non html5 engine is a big headache.) So I can use Unity, GameMaker studio and a couple other game engines proficiently and I am now back to using C2 again as my main engine.
Why?
C2 is just overall easier to work with, the layout editor is great, there are constant updates with new features, you can prototype extremely fast, there are plugins to do just about anything, the community, there is 3d support now from the Q3d plugin, did I mention the layout editor?
Yes there are things that do take longer in C2 than a traditional engine, like writing
if x >= 10 {
Blow this thing up;
}
in a language is faster than clicking all those events in C2, but on the other hand one click for platform behavior and changing a few parameters vs a bunch of lines of code is nice.
To answer your other questions, the login things is possible by making your own plugin with the JS SDK or using ajax to connect to a server etc. Graphics have nothing to do with the engine, graphics are made in external programs in whatever style you want and imported in.