I pretty much use Game Maker and a program called Scirra Construct 2. For Game Maker, I use scripting in the form of its GML language to get results. Scirra Construct 2 uses a drag-and-drop style event system that isn't too bad.
Almost never are my limitations in game logic (the code of the game you write). My limitations instead are in three areas:
1. Bugs in the actual program, or at least in Scirra Construct 2 and exporting, which set back my project.
2. Cost of the program. In the case of Game Maker, I'll have to pay an additional $200 to export to Android.
3. Art. If my art isn't good for the game, people are going to complain a lot more about it than me using Game Maker or Construct 2.
By the way, I don't consider myself a truely good programmer. I am a jack of all trades person, with okay scripting skills, basic programming skills, novice design and story skills, basic art skills, and a pretty large knowledge of computer hardware.
The issue isn't even cut and dry. It's not:
People who use creation software are beginners.
People who don't are experts.
It's more like:
Some people use creation software and are beginner scripters.
Some people use creation software and are expert scripters.
Some people code from scratch and are beginner programmers.
Some people code from scratch and are expert programmers.
Etc.
The vital question, since there's nothing necessarily too wrong with game creation software like Game Maker, becomes...
Should I use Game Maker or code more from scratch?
For this question, it will be up to you and you'll probably get many different answers.
Hope this helps :).