I disagree. I don't think GameMaker is a great tool for making 2D games (at least not all of them). I tried using it for awhile. For certain things it's very, very good (moving a character around on a screen and attacking enemies and collecting things, it's great at that).
But if you start wanting to do things more complicated or different from its wheelhouse, while it can be possible, the interface tends to get in the way and I eventually got to the point where I just wanted to write code. In particular I was trying to get a puzzle game with a slightly more complicated method of removing and clearing things, and I just kept fighting the system and not knowing how to get it to do what I wanted it to do.
I don't think GameMaker is unique in this, though. I've felt this way about pretty much every overly opinionated Game making tool (Construct 2 was even worse for me). Only game making tool I think got it just right was Flash and Actionscript 1.0, opinionated but you could still do pretty much everything (A previous version, Flash Player 4, was too restrictive, it wasn't until 1.0 that it became everything needed to make games fast and without any real restrictions). Unity is also good, albeit a bit more complicated than Flash ever got.