I've liked Corona SDK, though multiple recent ownership changes does leave me uneasy. The creators of Crashlands swear by Game Maker, but I wouldn't go there if you have any kind of programming experience already as the UI will just be in your way all the time. While Unity is accepted as best for 3D, many devs love it for 2D with the right libraries.
Unity is the most popular engine at the moment. Saying that it is the best is going a bit far. I actually think that Unity is one of the best 2D engines available. For 3D the tools are really broken for production use, and Unity is quite unresponsive about fixing them. And the renderer quality is a bit of a far cry from CryEngine or Unreal Engine, but is getting there bit by bit. Except that those two are also progressing, mostly by doing actual new research in the field.
Still, new 2D engines are welcome as Unity still has the 3D package to work with in a 2D game.