I went through this when deciding how to release software at my company. I narrowed it down to the GPL, LGPL, BSD, and Apache.
The GPL was a viral licence... meaning any modifications to the software had to be released with code if released at all, and any products that rely on it (*sometimes) needed to be released as GPL
The LGPL was similar, but was more permissible with regards to being used in other non-GPL software.
The BSD license is super simple, and to the point. Do anything you want. Don't hold me liable. Keep this notice.
The Apache license is like the BSD license, except it appears to be written by legal professionals in a more modern way (which, sadly, matters). It covers intellectual property ownership and liability issues a little more comprehensively.
I wanted no barriers to people using my software, but I wanted the most protection and clarity about who owns it. Free Software is not my religion, so using the GPL was not a necessity. (If you are really adamate about the ideals behind the "free software" movement, then the GPL makes a lot of sense). Note: "Free Software" and "Open Source" have a very different meaning.
I concluded that it would be cool if people used my software for commercial and/or closed source products, and I liked the legal crispness of it, so I opted for the Apache License.