It's a combination of pro/rel and
massive injections of TV money. In the last 30 years a whopping
8 clubs have won the title. Since the founding of the Premier League that drops to 5. (For comparison, in that time frame: 15 teams have won a Super Bowl, 16 a Stanley Cup, 17 a World Series, 9 an NBA title, and 10 (and potentially 11

) MLS Cup Champions) Because of the structure of the PL you can't distribute the money equally among the teams, it has to be awarded as prize money and only to PL teams, this why the PL was founded in the first place, to centralize the money at the top. Because of Pro/Rel, middle table and below
have to operate as if that money isn't going to be there tomorrow, if they don't they end up like Leeds or Portsmouth, bankrupt in the 3rd division. Add in Champions League money and you get a 3-5 team bloc that is nearly impossible to break. Only Chelsea and Man City have broken in and that required HUGE amounts of outside cash from very rich owners. In the last 20 years those clubs have aquired a massive amount of resources that other clubs can't match: larger stadiums, tv networks, foreign affiliate clubs, sponsors. Because of the structure, there's no way to force sharing those resources. Why should Man United share a sponsorship deal with Norwich or Stoke when they won't be around much longer? It's unrestrained capitalism on a small scale.
In other countries it's worse, at least the PL shares the TV money. Spain is virtually controlled by Barca and Madrid. Italy has had 2 corruption scandals! And has a virtual Big 4-5. You regularly see the same teams in UCL out of other countries like Turkey, Greece, Holland, Belgium etc.
Germany is only the country that actually tries to force equality among its club, and still deals with the "Bayern always wins" problem because it's hard to do in a pro/rel structure.