if you do a quick forum search, there are a couple similar topics already that go through the pros and cons of each.
The biggest takeaway from all these topics as to which engine is best is usually “it depends.”
For me personally, if a project will be strictly 2d, then Unity is out of the running. It is very powerful for sure, but it is very bloated, being very 3d-focused. Defold is a 3d engine, but it focuses mainly on 2d (lots of new 3d stuff coming, so I hear, but I don’t believe it will bloat the engine, based on the defold team’s track record of adding only what is absolutely necessary, leaving the rest up to native extensions).
For gamemaker…i haven’t used it, but I’ve watched my nephew work in gamemaker and the interface turned me off completely. Clunky. Also, why learn a new scripting language that has no use outside of that particular app, when you could use lightning-fast Lua in defold, which either you’re already familiar with, or you soon will be, and it exists in many other places as well. Bonus, new skill!
Godot, I’ve heard some sketchy things about reliability, deprecated code (non backward compatible updates) and a general feeling of disorganization. Again, haven’t used this one either, many others on here could speak to their experience though. There are a good few godot->defold converts kicking around.
The final straw, though, is the defold community. This is the only forum on the entire interweb where i have an account. The people here are fantastic. The defold team themselves are ALWAYS posting/replying, and the community-at-large is friendly and helpful, and very responsive. Add that to the tutorials, slick API docs and manual docs, and you’ll have a game published by next friday.