From my viewpoint, breaking out of poverty comes down to these factors, in order of greatest to least importance:
1. Starting off on the right foot at an early age with regards to academic performance. Circumstances can make this tough. Lack of access to good schools, parents too tired to engage their children (e.g. reading to them and instilling academic curiosity) due to working long shifts at strenuous jobs, lack of attention span on the part of the kids, etc. But coming out of school with good academic performance opens so many more doors than not.
2. Choosing a career path that has good job availability and pay (software development, healthcare industry, etc.). You can be a master of your field or trade, but if there aren't enough positions to fill, or if competition is fierce, or if the industry pays poorly, then what's the point unless you have a deep love of it?
3. Luck. Being in the right place at the right time. Not having a major medical issue. I'd almost consider placing this first.
4. Working hard.
Working hard has its place, but it's last on my list. I've known many people who did the first three and don't work hard, and still remain employed since the job market is so good for what they do. We had a developer who was absolutely terrible, but he'd regularly job hop every 1 to 2 years and get more money in the process. To be fair, the software development industry has some serious flaws in its screening processes, but nevertheless, it seems you can't ever hire enough developers. I'm not condoning being a poor worker, but the reality is that, though hard work has its place, there are more important criteria in raising oneself out of poverty.