lol... sorry. I completely forgot that I was talking to non-programmers.
Assembly is an OLD programming language. It's used very little in this day and age, although I would be willing to bet that a few very small parts of Doom 3 and Half Life 2 are programmed in Assembly. The reason for this is that Assembly is as close to programming in binary as is practical. Assembly allows a person complete control over the hardware you are coding for. It's as low level as you can get. The reason it's not used a lot anymore is that coding in it is a nightmare. The code is unreadable, it will take you FOREVER to code anything, coding something really big, such as a game is almost unthinkable, and it's just not nice to work with. The upside is that you have complete control over your code, and it's FAST, and makes a very small executable.
But think of it this way. To a programmer, coding in assembly is much like driving a race car. You have no CD Player, you have no anti-lock brakes, no automatic transmission, no air conditioning, no leg room, and no gas mileage. But is it ever fun driving that car anyways.

The problem is that both the race car (assembly), and the production cars (high level languages), have evolved at a fast rate, and now the regular car drives at 2000MPH, and the race car drives at 3000MPH. Which is the better choice? The GBA takes us back to a day when Race cars drove at 200MPH, and the regular cars drove at 100MPH. In this case, there's a clear gain to be seen in using a race car to get from point A to point B if you really need to get there fast.
Does that make sense?