I once thought to myself ("game maker studio is the best and easiest tool") but it turns out I was convincing myself to believe a lie, for I have found a great engine cheaper and more popular and more powerful and requires 0% code.
Don't fall for the same lie about game maker studio 1 and 2 that I fell for. Those whomever believe the white lies that are about game maker studio 1 and 2 being great, know now that I respect your choice of engine but note that I have moved on to the newer and better not to be named engine as I respect this community and you already know what engine I am talking about.
In my opinion, when it comes to making compelling games, at some point you're going to need to write some code for yourself, otherwise you run the risk of having generic feeling gameplay. One thing I hate about Unity is that so many games just feel the same, as people just plop in the same physics components, and what you get is movement that feels identical as 100 other games.
From my own experience of 11 years programming in a wide range of environments and languages, and having a computer science degree, I can say GameMaker is the easiest game development environment I have worked in. It is very easy to prototype in and get things working quickly. It also offers a lot of depth for gives you room for advanced use should you choose to take it. The main thing that GM does well is that it integrates game development at its core. The entire event system is based on games, the style of scripting actually hands itself to a more component-oriented style of programming, given that general purpose scripts can be re-used for multiple objects, without having to rely solely on inheritance for such behaviour.
GML is also just simple to the point where you can bash out code very very quickly. Other engines either have more verbose languages, or just require more set-up to get to a point where things work. Conversely, other engines that do all the setup for you can become awkward to work with if you want to do something a little unconventional. In my final year at university, our projects were based on building games and so many people struggled to use other engines simply because when it came to doing complex tasks, they had to fight the engine to get things to work in some cases (specifically with networking).
If you have found something useful for you, then that's fair enough, but I definitely wouldn't discount GM as a viable option for 2D games. (Whilst I love 3D programming, GM isn't really that practical for actual 3D dev, in much the same way as writing your own engine in C++ from scratch wouldn't be practical)
---------
On the original topic, i've made a bit of money off games. A few years of ad revenue followed by a venture into the commercial game market. I'm still working on my game atm, however we'll be selling it on steam next year. Currently, the only money i've made directly off games has been from Kickstarter and Alpha demo donations, however all of that money has been re-invested into the project