Another large part is the draft. Worst team gets first pick goes a long way to levelling the playing field.
I'm more of a hockey guy, which has a much stricter salary cap than the NFL, and the Edmonton Oilers are instructive here: they had a bunch of first overall picks 10 years ago (including multiple franchise players), but the team itself wasn't competitive until management changed and could build a cohesive team.
In the NFL, winning is more about quality management and coaching (and some luck) than anything else. Which is a good thing. Leagues where winners are decided mostly on who is able to spend the most on players are lopsided and kind of lame.