The NBA cap actually permits and creates dynasties, since teams can sign their own superstars for more than other teams can.
The NFL doesn’t do that but certainly has ways to promote teams keeping their own, like franchise tags. But unlike the NBA, NFL players seems to hate that. But then NFL salary rules and structures don’t appear to follow rules of any known branch of mathematics. The NBA isn’t much better.
The NFL does position itself for more roster turnover than other sports because -Tom Brady aside - careers can be insanely short. Tough to build a dynasty when there will be 40 new faces within 5 years…