A potential flaw in Lightning is the cost to open and close a channel. The fees are high enough that the average user might find it difficult to get onto payment channels. ALso the motivation to do so by the time they roll it out might not be there.
Indeed, that is the crux with lightning: the cost to open/close a channel. Or equivalently, the blockchain space.
However, channels can be kept open indefinitely. No need to close them if you don't have to cash out and just re-use those new incoming btc for new expenses. The way things are now, re-funding a channel also involves a blockchain transaction.
However, and it's a big however IMO, this kind of issues is already being addressed. I am aware of at least one possible solution that allows multiple channels to be opened together, with one single transactions (and closed too? I'm not sure about that, gotta find the source again). Of course the opening wouldn't be immediate, as the system must find the required number of participants to share the blockchain fee. It's a mechanism akin to coinjoin, with extra crypto to secure the joining/unjoining steps.
The bottom line is: once L2 really starts working and gets acceptance, there are several technical tricks that can be played to squeeze utility out of it, significantly limiting recourse to L1 (the base blockchain). Ideally, such L1 transactions would only be used in special cases, when really necessary.
Enduring transaction costs such as the current ones hurts. It hurts me too, to the point that I chose traditional banking over bitcoin for some of my smaller recent transactions. However, after some research, I am an informed optimist.