To me the reason to use MonoGame and (specially) C# is the difference between doing games and finishing games.
I started 34 years ago (something’s wrong with me, I should be tired by now ), as most 80’s bedroom coders, with BASIC. As time passed, moved through Z80, C, x86, C++, DX, …
I finished my first ‘decent game’ on Y2K with C++ & allegro, then moved experimenting with ‘cheat devices’ with gameboy, GBA and PSX, and settled for PDAs/Smartphones (Window Mobile, the predecessor of Windows Phone). Ended 3 games for that.
I knew you could do games for Xbox since 2006, but C#? A managed language? To do games? Don’t make me laugh. Finally, in 2010 I was thinking of “leaving the game scene” and decided to try XNA. After all, watching things run in a console is always cool.
Sometimes I wish I wasn’t so stubborn.
After a few weeks I was asking my real life work boss to move everything C++ related to C#. Finished more games in the first 2 years than in the last 25 years, and was able to leave the job to keep doing games. The ratio of unfinished games was like 90% without C#, and is like 20% in C# (sometimes not all projects are viable)
Once XNA disappeared, MonoGame was a logic step.
I tried Unity when XNA disappeared, and have tried several times since then, but I don’t seem to be able to wrap my mind around Unity’s paradigm. I’m more of a “gimme a void main ()” programmer, so XNA/MonoGame is heaven for me. I really envy Unity’s ability to be able to just plug things in via packages (shaders, artwork, scripts, …), I wouldn’t have had so many problems with my current game with Unity.
But on the other side, I’d have lost lots of times to try to make Unity behave like I’d want to. Slower startups, no edit and continue (afaik), chaos updating versions, fighting with unity’s demons (which not always can control), … at the end, it’d probably have taken the same time despite having lots of things already done. If I have to fight someone’s code, I prefer fighting my code. At least I know who to blame
If it wasn’t for C#/XNA/MonoGame I wouldn’t be doing games by now. I don’t know if that’s good or bad, though