Talent and good materials certainly help, but I think the most important factor is the amount of time that a person invests into language learning. So, I suppose you could say that "hard work" is the most important variable, except that you're much more likely to put in the time if what you're doing doesn't feel like hard work. ;-) And that (spending a lot of time on languages without it feeling like hard work) is much more likely to happen if you legitimately like language learning.
So, I think the most successful language learners are those who legitimately like languages. I'm not saying you can't learn otherwise (of course you can). But learning a language when you'd rather be doing something else will feel like an uphill battle, and that's likely to affect the amount of time you spend on task.
And yes, I realize this is an oversimplification. :-) Even if you love languages, there will still be some tasks that are important for long-term language learning success that you'd rather avoid. But if you like 70% of the language learning process, are indifferent to 20% of it, and positively dislike the remaining 10%, you're far more likely to succeed than if you like 10%, are indifferent to 20%, and positively dislike 70%.