As I understand it, a lot of the Flash market is moving to HTML 5 for browser-based games.
For full-on apps, the Unreal Development Kit (UDK) has the most power and best features, but has a fairly steep learning curve and somewhat limited import/export.
Unity is almost as powerful, though it has fewer features (so more time spent developing your own), but it has better import/export and a more gradual learning curve.
You can make professional quality games in either kit, but UDK (or rather, a licensed version of the editor that allows custom extensions) is used by AAA developers. Any game that is made with 'Unreal' technology is essentially using UDK, so that gives you some idea of its power and flexibility.
All of these tools are free. A couple of years ago, free, powerful, professional game-creation software would have been unheard of. Now, anybody with the time and dedication can make a video game.