Such a loaded question. It's many things.
You have to seek the knowledge.
You need to put in the practice.
Discipline.
Develop mastery, that is a knowing of you can do this shot, the whole shot w the leave.
Above all else is a passion for the game.
Each one of those has multiple facets.
Where you limit yourself is when you skip or don't do enough of one of those.
I put in tons of practice when I got back into pool about ten years ago or more. Got much, much better. But it wasnt until I consistently played better people that my ability grew.
That was a gaining of knowledge and apply that straight into practice. My philosophy is, if the game isn't for money, it's practice.