My problems with lightning:
* must be online to route payments
* node wallet keys must be "hot"
* channel closures cannot be mitigated, one misbehaving node can eventually take down a major portion of the network
* routing "netsplits" are common and difficult to identify and diagnose
* routed payments are not tolerant to lossy communication
* the initiator of a channel can cause the partner to share in the cost of closure
* open and close operations in a high fee environment can stall and lock-up funds indefinately
* becoming a an effective "routing node" requires too much skill and up-front capital, therefore routing fees have not tended to zero as promised
* opening and closing channels for the purpose of being a routing node is too costly for the individual
* the system is generally not used for its primary use-case, which is to make frequent direct payments to a channel partner, where routing is a secondary side-effect of a network of partners and the primary attraction to lightning is not a first-class feature
* submarine swaps and reverse submarine swaps require a third party and/or multiple onchain transactions
* the reference implementation (lnd) does not provide sufficient visibility to operation and what information it does provide is obscured by piles of debug logs
* switching node implementations requires dozens or hundreds of onchain transactions and fees
This is my 80% list