In my experience, Construct 2 is extremely versatile, robust and powerful. It's a 2D engine, so you have to use it as such. For prototyping, there is nothing better. For creating fun 2D games, in a short amount of time, nothing compares.
Once you get to really know the engine, get a feel for it's quirks, learn best practices and dive into a lot of the advanced features, You'll be able to make some really amazing creations.
I used Unity for years (and still do from time to time). The problem I have with Unity is that I spent 3/4 of my time coding, reviewing code, troubleshooting and bug fixing. Something about Constructs visual events, and how you handle them (assigning event sheets to layout, including sheets in other sheets, global variables easily carrying across all event sheets), makes "Coding", troubleshooting, and bug fixing a breeze, affording me, as a one person team, more time to focus on art, style and gameplay.
I think a lot of the problem with construct is that it appears extremely approachable and easy to use, so users jump in head first, without taking the time to review examples, read tutorials and go over the manual.
It took me almost a year before I even realized that there was a Function object that could be used and BOOM my world was turned around, as well as how I approached creating games with the engine. Take the time to really dig in and learn the engine and you'll see that (despite it's quirks) for 2D projects, It's amazing.
One thing I also like is the ability to port projects from C2 to C3 relatively easily. Hopefully this support continues for a good long time.