If you have enough talent, time and patience to learn, you can make a good game all by yourself, put it on Steam and it'll blow up and make you rich. Dunderdale is a recent example!
(I'm not sure if it used GMS2 or not but U get my point... GMS2 would be very capable of making it)
Undertale was made in GMS (1.4, since I don't think GMS2's beta was even out yet). Undertale is actually a very good example to bring up, because it seems a lot of people think the game just showed up and got popular, but this is far from the truth.
- Undertale was crowd funded on Kickstarter for over 1000% of the original goal (approx. 50,000 USD funding on a 5,000 USD goal). This means that a lot of people already knew and supported the idea of the game before it was properly released. This also meant that gaming news outlets, like Kotaku, were more likely to take notice and keep on eye on key moments in development and release.
- Toby Fox already had people who knew him through his work on Homestuck, so when he was making Undertale, he already had people following him that he knew would be interested in the game.
- I don't know this from experience, but apparently Toby sent the demo to some streamers (and possibly YouTubers), where it was received positively by both the streamers and the viewers. This doesn't always work, but when it does, it can be very good for your advertising. Many people who are dedicated to streamers/YT gamers will be greatly influenced by their opinion of a game.
- Obviously, post-release, the game got huge thanks to the controversy caused by avid fans + the amount of streamers and YT'ers playing it at that point.
My point in all of this is that even though Undertale is a well made game, there was already a lot of support and interest before the game was even out. This doesn't even include any advertising Toby himself went out of the way to do or pay for. Undertale is a commercial success through its profits, but it's also a personal success for Toby because he had reached a point in his career where people actually knew who he was and what he was capable of.
Know your audience. If you don't have an audience, find your audience. People love games, but they're terrible at finding them. It's your job to reach them, and no amount of money is going to do that for you.
(Sure, money is necessary for ad spots, but even then, an ad is useless if it isn't targeted)
To summarize:
- Having a good game should be your baseline; this won't make you money on its own, but will definitely lose you money/profits through its absence.
- Finding/having an audience and using that to your advantage is key for indie development. You can spend money on ads, sure, but that's the last step of the process. First, you need to know who you should be advertising to, how you should do it, and how much of that you can get either your fans or game streamers to do for you. However, do not expect anything to happen unless you set it in motion yourself.
Also, as a side note, don't just drop a game on Steam prior to engaging your audience and expect anybody to notice. That's a great way to lose $100 and some self confidence at the same time.