No programming language is useful for everything. There are different degrees of usefulness. A language can only be useful for a range of domains.
Which came first, the chicken or the egg? For LISP to be usable for, say, mobile development, somebody has to put in the effort to build the support. But if LISP isn’t popular, why would anyone make the effort?
So, why wasn’t LISP popular enough for someone to make LISP more useful in other domains?