This may be true.
But doesn't England have more elite level football teams (per capita) than really anywhere else on earth.
Like what country has more 40,000+ seat football stadiums for a place the population than England?
I know a LOT of countries are soccer crazy, but wouldn't one say England overall is the biggest destination for professional soccer?
Those teams consist of players from all over the world. During the world cup those players will play for their own national teams. For example Suarez plays for Liverpool, but he is from Uruguay and indeed scored the two goals for Uruguay that defeated England last week. Therefore the fact that the English have more teams doesn't really mean anything when it comes to the English national team.
I'm not a football expert, but I asked an English co-worker why a country with as large a population as England would not statistically produce enough football prodgies to do well in the cup. He basically said:
The practice of Championship and Premier league clubs is to simply buy the best players, regardless of nationality. That means that the quality of the players on their teams is a cross section of the best in the world.
The result is that budding English footballers are crowded out of the big teams in their own country because they compete with the rest of the world to get on to those teams. This means that when you lose the international players and go looking for purely English players for your world cup team, there are far fewer experienced players to choose from.
Contrast that to the Bundesliga (German league) which has loads of money in it and more rules to encourage teams to take German players. Their world cup team is experienced at a high level.
That sounds like a pretty reasonable explanation. Obviously there are loads of other factors in play, but the reasoning expounded in this thread that England putting loads of money into football should mean their team should be better is flawed.