My opinion - a lot of it comes down to implementation. There are a couple of really good open source implementations, but for the most part a lot of Lisp folks prefer the commercial ones. Anecdotally, Lisp came along so long ago that it has survived several different phases of computer software sales evolution. The phase that saw dynamic programming development tools be sold for significant sums of money altered the Lisp implementation landscape significantly, and today we have commercial implementations like Lispworks and Allegro, which while excellent, are expensive. This pulls enough talent away from open source implementations, of which there are several, that they all remain somewhat warty. So while I use the heck out of SBCL, I must admit that I find myself occasionally envious of the libraries and attention, and especially smoothness of integration with new technology (as opposed to new paradigms) that other dynamic languages such as python and ruby seem to enjoy.
Actually there are users that were looking for alternatives to expensive or dying CL implementations. These were and are financing work into SBCL and now also CCL. For example the port of CCL and its development environment to Windows is paid for. Recently at the ECLM (the European Common Lisp Meeting here in Hamburg), Dan Weinreb of ITA Software described what enhancements and robustifications of CCL (Clozure CL) were paid for by ITA for their reservation system project. I can tell you that it was quite an impressive list.
Currently the state of implementations like SBCL and CCL is really good. There are lots of further improvements possible and necessary as the computing landscape evolves. But from a Lisp user perspective, the free implementations have never been better than today. Users should be aware of that and take advantage of that. More work on graphics, development tools, etc. is welcome, though.
> commercial implementations like Lispworks and Allegro
I understand that Clozure CL and SBCL are also good. Maybe not THAT good, but good. Thing that bothers me with that argument is if CL or Lisp in general had the appeal to the critical mass of programmers, it would be built - no matter if standards were the obstacle or commercial implementations. They would come and build a new one, no?
As for the libraries - there surely is a way to make bindings to other libraries. For example, we have that kind of problem in D, but we can easily bind to C libraries, so that is not that much of a hassle.
My deep thought on all of that is what bothers me the most. Here is my theory. Is it possible that the real reason is that there are basically two types of programmers:
1. Recipe / Cargo Cult programmers that are programmers by career inertia
2. Programmers that think more about the nature of the problem and hack their mindset to the code. You know, the type that thinks more than they code - code is just a splurt at the end of the process.
If that is true, and if Lisp appeals only to the second bunch (not all of them, of course). It might be a hypothetical disastrous indicator of the ratio in programmer population.
Hmmm... well, there are probably more than two types, but I think there are at least the two types you mentioned. The only person I really feel comfortable speaking for is myself. I choose Lisp (Common Lisp in particular, and SBCL at that) for a number of reasons, but mostly:
1. because I seem avoid so much code that I could see myself having to write in other languages, and
2. because it gives me all this great dynamic functionality while still being extremely fast, especially compared to other languages.
Once I realized all the crazy things you can do with it and still run fast its been difficult to imagine using anything else where I have a choice.
"The phase that saw dynamic programming development tools be sold for significant sums of money altered the Lisp implementation landscape significantly, and today we have commercial implementations like Lispworks and Allegro, which while excellent, are expensive. This pulls enough talent away from open source implementations, of which there are several, that they all remain somewhat warty."
This assumes lisp = Common Lisp.
Clojure for example is entirely Open Source and a delight to code in.