I think you recieved pretty good answers there mahdi71 . Anyway, I'll post my opinions about your op:
1 - I never had any problems with creating a UI. I even think it's one of the easiest part of making a game. However it's still more complicated to make than in an engine that has a built in UI framework. I used Unreal Engine 4 and the UI editor it has it's just awesome. Since Construct 2 is a lightweight but powerful general purpose engine you have to do it all here yourself without a dedicated editor. I don't think it's a problem, as I said above, I never had any problems with making a UI (and for what I've seen on the forum it's not just me). But I get your point.
2 - Yes, Construct 2 uses a somewhat different approach than other engines. In Unity you make scripts and assign them to objects. Here you have the event sheets and all of your visual code goes there. I think the latter is easier to see through if you make well organized code. The family thing (to have different type of objects in one) was requested many times. Maybe we can expect that functionality in C3.
3 - True, you can't reuse your code like in a traditional programming environment. But just as other Devs said in this topic, it's not necessary appropriate to do so. If you need your code reused you can always make a function and/or use copy-paste. Modularity is also a demanded feature for C3, and Scirra said we might have it somewhere after the release of C3.
4 - Then use other methods to keep values between layouts. Global variables, Arrays, Dictionaries, etc..
5 - I don't get your problem with localstorate. Can you elaborate?
I experienced C2 as the fastest development software on the market. You can make complete games in the fraction of the time it would take with any traditional programming engine. I don't agree with your statement either that C2 is not for big projects. Take a look at this topic: