Adobe flash cs5: expensive (699$ or 159$ for students), very hard to use, extremely high potentiality, since all the games here are made with it. Flashdevelop: free, even harder to use, same potentiality of flash. Gamemaker: free, easy to use, bad games. These are the programs. For flash and flashdevelop you have to learn a scripting language.
mmh, really? I didn't know. However you can still code as2 in flash if you want, and I think it's much easier to learn if you have no programming experience.
How to make games, This question has been asked a thousand times already. I usually ignore these, but I guess I might help you...
Okay, talking generally, there is a million ways to make games. If you want to know how to create games, you need to know a programming language, unless you are going to use a WYSIWYG game editor.
Making Flash games can be free. All you need is a swf compiler, but it would be "almost" impossible. You can use flash CS5, costs some money, but worth-it.
If you want to make a browser-based game still you need to know a programming language. Java, php, etc.Let's get a move on.
If you want to create 3d games, you need to know how to create 3d assets, and still, a programming language. It is a lot harder, but it is possible to create one alone.